Advertisement
lafur

Untitled

Sep 7th, 2018
156
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 110.77 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. --|| CREATED BY SHACKLUSTER
  7. --\\====================================================//--
  8.  
  9.  
  10.  
  11. wait(2)
  12.  
  13.  
  14.  
  15. Player = game:GetService("Players").LocalPlayer
  16. PlayerGui = Player.PlayerGui
  17. Cam = workspace.CurrentCamera
  18. Backpack = Player.Backpack
  19. Character = Player.Character
  20. Humanoid = Character.Humanoid
  21. Mouse = Player:GetMouse()
  22. RootPart = Character["HumanoidRootPart"]
  23. Torso = Character["Torso"]
  24. Head = Character["Head"]
  25. RightArm = Character["Right Arm"]
  26. LeftArm = Character["Left Arm"]
  27. RightLeg = Character["Right Leg"]
  28. LeftLeg = Character["Left Leg"]
  29. RootJoint = RootPart["RootJoint"]
  30. Neck = Torso["Neck"]
  31. RightShoulder = Torso["Right Shoulder"]
  32. LeftShoulder = Torso["Left Shoulder"]
  33. RightHip = Torso["Right Hip"]
  34. LeftHip = Torso["Left Hip"]
  35. if Character:FindFirstChild("Shirt") then
  36. Character.Shirt:Destroy()
  37. end
  38. if Character:FindFirstChild("Pants") then
  39. Character.Pants:Destroy()
  40. end
  41. local top = Instance.new("Shirt")
  42. top.ShirtTemplate = "rbxassetid://764022882"
  43. local bottom = Instance.new("Pants")
  44. bottom.PantsTemplate = "rbxassetid://129459076"
  45. top.Parent = Character
  46. bottom.Parent = Character
  47. q = Character:GetChildren()
  48. for u = 1, #q do
  49. if q[u].ClassName == "Accessory" then
  50. q[u]:Destroy()
  51. elseif q[u].ClassName == "CharacterMesh" then
  52. q[u]:Destroy()
  53. end
  54. end
  55. Head.face.Texture = "rbxassetid://1032441660"
  56.  
  57. IT = Instance.new
  58. CF = CFrame.new
  59. VT = Vector3.new
  60. RAD = math.rad
  61. C3 = Color3.new
  62. UD2 = UDim2.new
  63. BRICKC = BrickColor.new
  64. ANGLES = CFrame.Angles
  65. EULER = CFrame.fromEulerAnglesXYZ
  66. COS = math.cos
  67. ACOS = math.acos
  68. SIN = math.sin
  69. ASIN = math.asin
  70. ABS = math.abs
  71. MRANDOM = math.random
  72. FLOOR = math.floor
  73.  
  74. function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET)
  75. local NEWMESH = IT(MESH)
  76. if MESH == "SpecialMesh" then
  77. NEWMESH.MeshType = MESHTYPE
  78. if MESHID ~= "nil" and MESHID ~= "" then
  79. NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID
  80. end
  81. if TEXTUREID ~= "nil" and TEXTUREID ~= "" then
  82. NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID
  83. end
  84. end
  85. NEWMESH.Offset = OFFSET or VT(0, 0, 0)
  86. NEWMESH.Scale = SCALE
  87. NEWMESH.Parent = PARENT
  88. return NEWMESH
  89. end
  90.  
  91. function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE)
  92. local NEWPART = IT("Part")
  93. NEWPART.formFactor = FORMFACTOR
  94. NEWPART.Reflectance = REFLECTANCE
  95. NEWPART.Transparency = TRANSPARENCY
  96. NEWPART.CanCollide = false
  97. NEWPART.Locked = true
  98. NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR))
  99. NEWPART.Name = NAME
  100. NEWPART.Size = SIZE
  101. NEWPART.Position = Torso.Position
  102. NEWPART.Material = MATERIAL
  103. NEWPART:BreakJoints()
  104. NEWPART.Parent = PARENT
  105. return NEWPART
  106. end
  107.  
  108.  
  109. --//=================================\\
  110. --|| CUSTOMIZATION
  111. --\\=================================//
  112.  
  113. Class_Name = "Riho"
  114. Weapon_Name = "Wreckage"
  115.  
  116. Custom_Colors = {
  117. Custom_Color_1 = BRICKC("Institutional white"); --1st color for the weapon.
  118. Custom_Color_2 = BRICKC("Institutional white"); --2nd color for the weapon.
  119.  
  120. Custom_Color_3 = BRICKC("Institutional white"); --Color for the abilities.
  121. Custom_Color_4 = BRICKC("Institutional white"); --Color for the secondary bar.
  122. Custom_Color_5 = BRICKC("Institutional white"); --Color for the mana bar.
  123. Custom_Color_6 = BRICKC("Institutional white"); --Color for the health bar.
  124. Custom_Color_7 = BRICKC("Institutional white"); --Color for the stun bar.
  125.  
  126. Custom_Color_8 = BRICKC("Institutional white"); --Background for the mana bar.
  127. Custom_Color_9 = BRICKC("Institutional white"); --Background for the secondary mana bar.
  128. Custom_Color_10 = BRICKC("Institutional white"); --Background for the stun bar.
  129. Custom_Color_11 = BRICKC("Institutional white"); --Background for the health bar.
  130. Custom_Color_12 = BRICKC("Institutional white"); --Background for the abilities.
  131. }
  132.  
  133. Mana_Bar_Background_Transparency = 0 --Transparency for the background of the mana bar.
  134. Secondary_Mana_Bar_Background_Transparency = 0 --Transparency for the background of the secondary mana bar.
  135. Health_Bar_Background_Transparency = 0 --Transparency for the background of the health bar.
  136. Stun_Bar_Background_Transparency = 0 --Transparency for the background of the stun bar.
  137. Ability_Background_Transparency = 0 --Transparency for the background of the abilities.
  138. Stat_Background_Transparency = 0 --Transparency for the background of the stats.
  139.  
  140. Player_Size = 1 --Size of the player.
  141. Animation_Speed = 4
  142. Frame_Speed = 1 / 60 -- (1 / 30) OR (1 / 60)
  143.  
  144. Enable_Gui = false --Enables or disables the Weapon Gui. Also functions as hiding or showing the Gui.
  145. Enable_Stats = false --Enables or disables stats.
  146. Put_Stats_In_Character = false --Places stats in Character.
  147. Enable_Stagger_Hit = false --Enables or disables staggering when hitting a hitbox of some sort.
  148. Play_Hitbox_Hit_Sound = true --Plays a hit sound when hitting a hitbox of some sort.
  149. Enable_Stagger = false --Enables or disables staggering.
  150. Enable_Stun = false --Enables or disables the stun mechanic.
  151. Enable_Abilities = false --Enables abilites with cooldowns and mana costs.
  152. Enable_Secondary_Bar = false --Enables the secondary mana bar, if true.
  153.  
  154. Start_Equipped = true --Starts the player equipped with their weapon.
  155. Start_Equipped_With_Equipped_Animation = false --Used in conjunction with the above option. Starts your equip animation.
  156. Can_Equip_Or_Unequip = false --Enables or disables the ability to unequip or equip your weapon.
  157. Disable_Animator = true --Disables the Animator in the humanoid.
  158. Disable_Animate = true --Disables the Animate script in the character.
  159. Disable_Moving_Arms = false --Keeps the arms from moving around.
  160. Use_Motors_Instead_Of_Welds = false --Uses motors instead of welds to disable moving arms.
  161. Walkspeed_Depends_On_Movement_Value = false --Walkspeed depends on movement value. Self-explanatory.
  162. Disable_Jump = false --Disables jumping.
  163. Use_HopperBin = false --Uses a hopperbin to do things.
  164.  
  165. Cooldown_1 = 0 --Cooldowns for abilites.
  166. Cooldown_2 = 0
  167. Cooldown_3 = 0
  168. Cooldown_4 = 0
  169. Skill_1_Mana_Cost = 0 --How much mana is required to use the skill.
  170. Skill_2_Mana_Cost = 0
  171. Skill_3_Mana_Cost = 0
  172. Skill_4_Mana_Cost = 0
  173. Max_Mana = 0 --Maximum amount of mana you can have.
  174. Max_Secondary_Mana = 0 --Maximum amount of secondary mana you can have.
  175. Mana_Name = "Mana" --Name for the mana bar.
  176. Secondary_Mana_Name = "Block" --Name for the secondary mana bar.
  177. Max_Stun = 1 --Maximum amount of stun you can have.
  178. Recover_Mana = 0 --How much mana you gain.
  179. Mana_Regen_Mode = "1" --Basically switches from one mana regen system to another.
  180. Secondary_Mana_Regen_Mode = "1" --Basically switches from one secondary mana regen system to another.
  181. Stun_Lose_Mode = "1" --Basically switches from one secondary stun loss system to another.
  182. Recover_Secondary_Mana = 0 --How much secondary mana you gain.
  183. Lose_Stun = 0 --How much stun you lose.
  184. Stun_Wait = 0 --Delay between losing stun.
  185. Mana_Wait = 0 --Delay between gaining mana.
  186. Secondary_Mana_Wait = 0 --Delay between gaining secondary mana.
  187. Menu_Update_Speed = 0 --How fast the Weapon Gui will update.
  188. Constant_Update = false --Removes the delay between updating the Weapon GUI.
  189. Show_Stats = false --Hides or shows stats.
  190. Stat_Offset = 0.74 --For cosmetic purposes. {0.74, 0.78}
  191.  
  192. --//=================================\\
  193. --|| END OF CUSTOMIZATION
  194. --\\=================================//
  195.  
  196. local function weldBetween(a, b)
  197. local weldd = Instance.new("ManualWeld")
  198. weldd.Part0 = a
  199. weldd.Part1 = b
  200. weldd.C0 = CFrame.new()
  201. weldd.C1 = b.CFrame:inverse() * a.CFrame
  202. weldd.Parent = a
  203. return weldd
  204. end
  205.  
  206. function createaccessory(attachmentpart,mesh,texture,scale,offset,color)
  207. local acs = Instance.new("Part")
  208. acs.CanCollide = false
  209. acs.Anchored = false
  210. acs.Size = Vector3.new(0,0,0)
  211. acs.CFrame = attachmentpart.CFrame
  212. acs.Parent = Character
  213. acs.BrickColor = color
  214. local meshs = Instance.new("SpecialMesh")
  215. meshs.MeshId = mesh
  216. meshs.TextureId = texture
  217. meshs.Parent = acs
  218. meshs.Scale = scale
  219. meshs.Offset = offset
  220. weldBetween(attachmentpart,acs)
  221. end
  222.  
  223. function createbodypart(TYPE,COLOR,PART,OFFSET,SIZE)
  224. if TYPE == "Gem" then
  225. local acs = CreatePart(3, Character, "Plastic", 0, 0, COLOR, "Part", VT(0,0,0))
  226. acs.Anchored = false
  227. acs.CanCollide = false
  228. acs.CFrame = PART.CFrame
  229. local acs2 = CreateMesh("SpecialMesh", acs, "FileMesh", "9756362", "", SIZE, OFFSET)
  230. weldBetween(PART,acs)
  231. elseif TYPE == "Skull" then
  232. local acs = CreatePart(3, Character, "Plastic", 0, 0, COLOR, "Part", VT(0,0,0))
  233. acs.Anchored = false
  234. acs.CanCollide = false
  235. acs.CFrame = PART.CFrame
  236. local acs2 = CreateMesh("SpecialMesh", acs, "FileMesh", "4770583", "", SIZE, OFFSET)
  237. weldBetween(PART,acs)
  238. elseif TYPE == "Eye" then
  239. local acs = CreatePart(3, Character, "Neon", 0, 0, COLOR, "Part", VT(0,0,0))
  240. acs.Anchored = false
  241. acs.CanCollide = false
  242. acs.CFrame = PART.CFrame
  243. local acs2 = CreateMesh("SpecialMesh", acs, "Sphere", "", "", SIZE, OFFSET)
  244. weldBetween(PART,acs)
  245. end
  246. end
  247.  
  248. --//=================================\\
  249. --|| USEFUL VALUES
  250. --\\=================================//
  251.  
  252. local ROOTC0 = CF(0, 0, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
  253. local NECKC0 = CF(0, 1, 0) * ANGLES(RAD(-90), RAD(0), RAD(180))
  254. local RIGHTSHOULDERC0 = CF(-0.5, 0, 0) * ANGLES(RAD(0), RAD(90), RAD(0))
  255. local LEFTSHOULDERC0 = CF(0.5, 0, 0) * ANGLES(RAD(0), RAD(-90), RAD(0))
  256. local CO1 = 0
  257. local CO2 = 0
  258. local CO3 = 0
  259. local CO4 = 0
  260. local CHANGEDEFENSE = 0
  261. local CHANGEDAMAGE = 0
  262. local CHANGEMOVEMENT = 0
  263. local ANIM = "Idle"
  264. local ATTACK = false
  265. local EQUIPPED = false
  266. local HOLD = false
  267. local COMBO = 1
  268. local LASTPOINT = nil
  269. local BLCF = nil
  270. local SCFR = nil
  271. local STAGGERHITANIM = false
  272. local STAGGERANIM = false
  273. local STUNANIM = false
  274. local CRITCHANCENUMBER = 0
  275. local IDLENUMBER = 0
  276. local DONUMBER = 0
  277. local HANDIDLE = false
  278. local SINE = 0
  279. local CHANGE = 2 / Animation_Speed
  280. local WALKINGANIM = false
  281. local WALK = 0
  282. local DISABLEJUMPING = false
  283. local HASBEENBLOCKED = false
  284. local STUNDELAYNUMBER = 0
  285. local MANADELAYNUMBER = 0
  286. local SECONDARYMANADELAYNUMBER = 0
  287. local ROBLOXIDLEANIMATION = IT("Animation")
  288. ROBLOXIDLEANIMATION.Name = "Roblox Idle Animation"
  289. ROBLOXIDLEANIMATION.AnimationId = "http://www.roblox.com/asset/?id=180435571"
  290. --ROBLOXIDLEANIMATION.Parent = Humanoid
  291. local WEAPONGUI = IT("ScreenGui", nil)
  292. WEAPONGUI.Name = "Weapon GUI"
  293. local WEAPONTOOL = IT("HopperBin", nil)
  294. WEAPONTOOL.Name = Weapon_Name
  295. local Weapon = IT("Model")
  296. Weapon.Name = Weapon_Name
  297. local Effects = IT("Folder", Weapon)
  298. Effects.Name = "Effects"
  299. local ANIMATOR = Humanoid.Animator
  300. local ANIMATE = Character.Animate
  301. local HITPLAYERSOUNDS = {--[["199149137", "199149186", "199149221", "199149235", "199149269", "199149297"--]]"263032172", "263032182", "263032200", "263032221", "263032252", "263033191"}
  302. local HITARMORSOUNDS = {"199149321", "199149338", "199149367", "199149409", "199149452"}
  303. local HITWEAPONSOUNDS = {"199148971", "199149025", "199149072", "199149109", "199149119"}
  304. local HITBLOCKSOUNDS = {"199148933", "199148947"}
  305.  
  306. --//=================================\\
  307. --\\=================================//
  308.  
  309. --//=================================\\
  310. --|| STATS
  311. --\\=================================//
  312.  
  313. if Character:FindFirstChild("Stats") ~= nil then
  314. Character:FindFirstChild("Stats").Parent = nil
  315. end
  316.  
  317. local Stats = IT("Folder", nil)
  318. Stats.Name = "Stats"
  319. local ChangeStat = IT("Folder", Stats)
  320. ChangeStat.Name = "ChangeStat"
  321. local Defense = IT("NumberValue", Stats)
  322. Defense.Name = "Defense"
  323. Defense.Value = 1
  324. local Movement = IT("NumberValue", Stats)
  325. Movement.Name = "Movement"
  326. Movement.Value = 1
  327. local Damage = IT("NumberValue", Stats)
  328. Damage.Name = "Damage"
  329. Damage.Value = 1
  330. local Mana = IT("NumberValue", Stats)
  331. Mana.Name = "Mana"
  332. Mana.Value = 0
  333. local SecondaryMana = IT("NumberValue", Stats)
  334. SecondaryMana.Name = "SecondaryMana"
  335. SecondaryMana.Value = 0
  336. local CanCrit = IT("BoolValue", Stats)
  337. CanCrit.Name = "CanCrit"
  338. CanCrit.Value = false
  339. local CritChance = IT("NumberValue", Stats)
  340. CritChance.Name = "CritChance"
  341. CritChance.Value = 20
  342. local CanPenetrateArmor = IT("BoolValue", Stats)
  343. CanPenetrateArmor.Name = "CanPenetrateArmor"
  344. CanPenetrateArmor.Value = false
  345. local AntiTeamKill = IT("BoolValue", Stats)
  346. AntiTeamKill.Name = "AntiTeamKill"
  347. AntiTeamKill.Value = false
  348. local Rooted = IT("BoolValue", Stats)
  349. Rooted.Name = "Rooted"
  350. Rooted.Value = false
  351. local Block = IT("BoolValue", Stats)
  352. Block.Name = "Block"
  353. Block.Value = false
  354. local RecentEnemy = IT("ObjectValue", Stats)
  355. RecentEnemy.Name = "RecentEnemy"
  356. RecentEnemy.Value = nil
  357. local StaggerHit = IT("BoolValue", Stats)
  358. StaggerHit.Name = "StaggerHit"
  359. StaggerHit.Value = false
  360. local Stagger = IT("BoolValue", Stats)
  361. Stagger.Name = "Stagger"
  362. Stagger.Value = false
  363. local Stun = IT("BoolValue", Stats)
  364. Stun.Name = "Stun"
  365. Stun.Value = false
  366. local StunValue = IT("NumberValue", Stats)
  367. StunValue.Name = "StunValue"
  368. StunValue.Value = 0
  369.  
  370. if Enable_Stats == true and Put_Stats_In_Character == true then
  371. Stats.Parent = Character
  372. end
  373.  
  374. --//=================================\\
  375. --\\=================================//
  376.  
  377.  
  378.  
  379.  
  380.  
  381. --//=================================\\
  382. --|| DEBUFFS / BUFFS
  383. --\\=================================//
  384.  
  385. local DEFENSECHANGE1 = IT("NumberValue", ChangeStat)
  386. DEFENSECHANGE1.Name = "ChangeDefense"
  387. DEFENSECHANGE1.Value = 0
  388.  
  389. local MOVEMENTCHANGE1 = IT("NumberValue", nil)
  390. MOVEMENTCHANGE1.Name = "ChangeMovement"
  391. MOVEMENTCHANGE1.Value = 0
  392.  
  393. --//=================================\\
  394. --\\=================================//
  395.  
  396.  
  397.  
  398.  
  399.  
  400. --//=================================\\
  401. --|| SAZERENOS' ARTIFICIAL HEARTBEAT
  402. --\\=================================//
  403.  
  404. ArtificialHB = Instance.new("BindableEvent", script)
  405. ArtificialHB.Name = "ArtificialHB"
  406.  
  407. script:WaitForChild("ArtificialHB")
  408.  
  409. frame = Frame_Speed
  410. tf = 0
  411. allowframeloss = false
  412. tossremainder = false
  413. lastframe = tick()
  414. script.ArtificialHB:Fire()
  415.  
  416. game:GetService("RunService").Heartbeat:connect(function(s, p)
  417. tf = tf + s
  418. if tf >= frame then
  419. if allowframeloss then
  420. script.ArtificialHB:Fire()
  421. lastframe = tick()
  422. else
  423. for i = 1, math.floor(tf / frame) do
  424. script.ArtificialHB:Fire()
  425. end
  426. lastframe = tick()
  427. end
  428. if tossremainder then
  429. tf = 0
  430. else
  431. tf = tf - frame * math.floor(tf / frame)
  432. end
  433. end
  434. end)
  435.  
  436. --//=================================\\
  437. --\\=================================//
  438.  
  439. BC = BrickColor.new
  440. createaccessory(Head,"http://www.roblox.com/asset/?id=13640868","http://www.roblox.com/asset/?id=13640869",Vector3.new(1,1,1),Vector3.new(0,0.5,0),BC(0,0,0))
  441.  
  442.  
  443. --//=================================\\
  444. --|| SOME FUNCTIONS
  445. --\\=================================//
  446.  
  447. function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS)
  448. return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS)
  449. end
  450.  
  451. function PositiveAngle(NUMBER)
  452. if NUMBER >= 0 then
  453. NUMBER = 0
  454. end
  455. return NUMBER
  456. end
  457.  
  458. function NegativeAngle(NUMBER)
  459. if NUMBER <= 0 then
  460. NUMBER = 0
  461. end
  462. return NUMBER
  463. end
  464.  
  465. function Swait(NUMBER)
  466. if NUMBER == 0 or NUMBER == nil then
  467. ArtificialHB.Event:wait()
  468. else
  469. for i = 1, NUMBER do
  470. ArtificialHB.Event:wait()
  471. end
  472. end
  473. end
  474.  
  475. function QuaternionFromCFrame(cf)
  476. local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
  477. local trace = m00 + m11 + m22
  478. if trace > 0 then
  479. local s = math.sqrt(1 + trace)
  480. local recip = 0.5 / s
  481. return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5
  482. else
  483. local i = 0
  484. if m11 > m00 then
  485. i = 1
  486. end
  487. if m22 > (i == 0 and m00 or m11) then
  488. i = 2
  489. end
  490. if i == 0 then
  491. local s = math.sqrt(m00 - m11 - m22 + 1)
  492. local recip = 0.5 / s
  493. return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip
  494. elseif i == 1 then
  495. local s = math.sqrt(m11 - m22 - m00 + 1)
  496. local recip = 0.5 / s
  497. return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip
  498. elseif i == 2 then
  499. local s = math.sqrt(m22 - m00 - m11 + 1)
  500. local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip
  501. end
  502. end
  503. end
  504.  
  505. function QuaternionToCFrame(px, py, pz, x, y, z, w)
  506. local xs, ys, zs = x + x, y + y, z + z
  507. local wx, wy, wz = w * xs, w * ys, w * zs
  508. local xx = x * xs
  509. local xy = x * ys
  510. local xz = x * zs
  511. local yy = y * ys
  512. local yz = y * zs
  513. local zz = z * zs
  514. 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))
  515. end
  516.  
  517. function QuaternionSlerp(a, b, t)
  518. local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4]
  519. local startInterp, finishInterp;
  520. if cosTheta >= 0.0001 then
  521. if (1 - cosTheta) > 0.0001 then
  522. local theta = ACOS(cosTheta)
  523. local invSinTheta = 1 / SIN(theta)
  524. startInterp = SIN((1 - t) * theta) * invSinTheta
  525. finishInterp = SIN(t * theta) * invSinTheta
  526. else
  527. startInterp = 1 - t
  528. finishInterp = t
  529. end
  530. else
  531. if (1 + cosTheta) > 0.0001 then
  532. local theta = ACOS(-cosTheta)
  533. local invSinTheta = 1 / SIN(theta)
  534. startInterp = SIN((t - 1) * theta) * invSinTheta
  535. finishInterp = SIN(t * theta) * invSinTheta
  536. else
  537. startInterp = t - 1
  538. finishInterp = t
  539. end
  540. end
  541. 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
  542. end
  543.  
  544. function Clerp(a, b, t)
  545. local qa = {QuaternionFromCFrame(a)}
  546. local qb = {QuaternionFromCFrame(b)}
  547. local ax, ay, az = a.x, a.y, a.z
  548. local bx, by, bz = b.x, b.y, b.z
  549. local _t = 1 - t
  550. return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t))
  551. end
  552.  
  553. function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME)
  554. local frame = IT("Frame")
  555. frame.BackgroundTransparency = TRANSPARENCY
  556. frame.BorderSizePixel = BORDERSIZEPIXEL
  557. frame.Position = POSITION
  558. frame.Size = SIZE
  559. frame.BackgroundColor3 = COLOR
  560. frame.BorderColor3 = BORDERCOLOR
  561. frame.Name = NAME
  562. frame.Parent = PARENT
  563. return frame
  564. end
  565.  
  566. function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME)
  567. local label = IT("TextLabel")
  568. label.BackgroundTransparency = 1
  569. label.Size = UD2(1, 0, 1, 0)
  570. label.Position = UD2(0, 0, 0, 0)
  571. label.TextColor3 = C3(255, 255, 255)
  572. label.TextStrokeTransparency = STROKETRANSPARENCY
  573. label.TextTransparency = TRANSPARENCY
  574. label.FontSize = TEXTFONTSIZE
  575. label.Font = TEXTFONT
  576. label.BorderSizePixel = BORDERSIZEPIXEL
  577. label.TextScaled = true
  578. label.Text = TEXT
  579. label.Name = NAME
  580. label.Parent = PARENT
  581. return label
  582. end
  583.  
  584. function NoOutlines(PART)
  585. PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10
  586. end
  587.  
  588.  
  589. function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1)
  590. local NEWWELD = IT(TYPE)
  591. NEWWELD.Part0 = PART0
  592. NEWWELD.Part1 = PART1
  593. NEWWELD.C0 = C0
  594. NEWWELD.C1 = C1
  595. NEWWELD.Parent = PARENT
  596. return NEWWELD
  597. end
  598.  
  599. function CreateSound(ID, PARENT, VOLUME, PITCH)
  600. coroutine.resume(coroutine.create(function()
  601. local NEWSOUND = IT("Sound", PARENT)
  602. NEWSOUND.Volume = VOLUME
  603. NEWSOUND.Pitch = PITCH
  604. NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID
  605. Swait()
  606. NEWSOUND:play()
  607. game:GetService("Debris"):AddItem(NEWSOUND, 10)
  608. end))
  609. end
  610.  
  611. function CFrameFromTopBack(at, top, back)
  612. local right = top:Cross(back)
  613. 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)
  614. end
  615.  
  616. function Lightning(POSITION1, POSITION2, MULTIPLIERTIME, LIGHTNINGDELAY, OFFSET, BRICKCOLOR, MATERIAL, SIZE, TRANSPARENCY, LASTINGTIME)
  617. local MAGNITUDE = (POSITION1 - POSITION2).magnitude
  618. local CURRENTPOSITION = POSITION1
  619. local LIGHTNINGOFFSET = {-OFFSET, OFFSET}
  620. coroutine.resume(coroutine.create(function()
  621. for i = 1, MULTIPLIERTIME do
  622. local LIGHTNINGPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR,"Effect", VT(SIZE * Player_Size, SIZE * Player_Size, MAGNITUDE / MULTIPLIERTIME))
  623. LIGHTNINGPART.Anchored = true
  624. local LIGHTNINGOFFSET2 = VT(LIGHTNINGOFFSET[MRANDOM(1, 2)], LIGHTNINGOFFSET[MRANDOM(1, 2)], LIGHTNINGOFFSET[MRANDOM(1, 2)])
  625. local LIGHTNINGPOSITION1 = CF(CURRENTPOSITION, POSITION2) * CF(0, 0, MAGNITUDE / MULTIPLIERTIME).p + LIGHTNINGOFFSET2
  626. if MULTIPLIERTIME == i then
  627. local LIGHTNINGMAGNITUDE1 = (CURRENTPOSITION - POSITION2).magnitude
  628. LIGHTNINGPART.Size = VT(SIZE * Player_Size, SIZE * Player_Size, LIGHTNINGMAGNITUDE1)
  629. LIGHTNINGPART.CFrame = CF(CURRENTPOSITION, POSITION2) * CF(0, 0, -LIGHTNINGMAGNITUDE1 / 2)
  630. else
  631. LIGHTNINGPART.CFrame = CF(CURRENTPOSITION, LIGHTNINGPOSITION1) * CF(0, 0, MAGNITUDE / MULTIPLIERTIME / 2)
  632. end
  633. CURRENTPOSITION=LIGHTNINGPART.CFrame * CF(0, 0, MAGNITUDE / MULTIPLIERTIME / 2).p
  634. game.Debris:AddItem(LIGHTNINGPART, LASTINGTIME)
  635. coroutine.resume(coroutine.create(function()
  636. while LIGHTNINGPART.Transparency ~= 1 do
  637. --local StartTransparency = tra
  638. for i=0, 1, LASTINGTIME do
  639. Swait()
  640. LIGHTNINGPART.Transparency = LIGHTNINGPART.Transparency + (0.1 / LASTINGTIME)
  641. end
  642. end
  643. end))
  644. Swait(LIGHTNINGDELAY / Animation_Speed)
  645. end
  646. end))
  647. end
  648.  
  649. function MagicBlock(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X1, Y1, Z1, X2, Y2, Z2, delay)
  650. local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT())
  651. EFFECTPART.Anchored = true
  652. EFFECTPART.CFrame = CFRAME
  653. local EFFECTMESH = CreateMesh("BlockMesh", EFFECTPART, "", "", "", VT(X1 * Player_Size, Y1 * Player_Size, Z1 * Player_Size), OFFSET * Player_Size)
  654. game:GetService("Debris"):AddItem(EFFECTPART, 10)
  655. coroutine.resume(coroutine.create(function(PART, MESH)
  656. for i = 0, 1, delay do
  657. Swait()
  658. PART.CFrame = PART.CFrame * ROTATION
  659. PART.Transparency = i
  660. MESH.Scale = MESH.Scale + VT(X2 * Player_Size, Y2 * Player_Size, Z2 * Player_Size)
  661. end
  662. PART.Parent = nil
  663. end), EFFECTPART, EFFECTMESH)
  664. end
  665.  
  666. function MagicSphere(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X1, Y1, Z1, X2, Y2, Z2, delay)
  667. local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT())
  668. EFFECTPART.Anchored = true
  669. EFFECTPART.CFrame = CFRAME
  670. local EFFECTMESH = CreateMesh("SpecialMesh", EFFECTPART, "Sphere", "", "", VT(X1 * Player_Size, Y1 * Player_Size, Z1 * Player_Size), OFFSET * Player_Size)
  671. game:GetService("Debris"):AddItem(EFFECTPART, 10)
  672. coroutine.resume(coroutine.create(function(PART, MESH)
  673. for i = 0, 1, delay do
  674. Swait()
  675. PART.CFrame = PART.CFrame * ROTATION
  676. PART.Transparency = i
  677. MESH.Scale = MESH.Scale + VT(X2 * Player_Size, Y2 * Player_Size, Z2 * Player_Size)
  678. end
  679. PART.Parent = nil
  680. end), EFFECTPART, EFFECTMESH)
  681. end
  682.  
  683. function MagicCylinder(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X1, Y1, Z1, X2, Y2, Z2, delay)
  684. local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT())
  685. EFFECTPART.Anchored = true
  686. EFFECTPART.CFrame = CFRAME
  687. local EFFECTMESH = CreateMesh("CylinderMesh", EFFECTPART, "", "", "", VT(X1 * Player_Size, Y1 * Player_Size, Z1 * Player_Size), OFFSET * Player_Size)
  688. game:GetService("Debris"):AddItem(EFFECTPART, 10)
  689. coroutine.resume(coroutine.create(function(PART, MESH)
  690. for i = 0, 1, delay do
  691. Swait()
  692. PART.CFrame = PART.CFrame * ROTATION
  693. PART.Transparency = i
  694. MESH.Scale = MESH.Scale + VT(X2 * Player_Size, Y2 * Player_Size, Z2 * Player_Size)
  695. end
  696. PART.Parent = nil
  697. end), EFFECTPART, EFFECTMESH)
  698. end
  699.  
  700. function MagicHead(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X1, Y1, Z1, X2, Y2, Z2, delay)
  701. local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT())
  702. EFFECTPART.Anchored = true
  703. EFFECTPART.CFrame = CFRAME
  704. local EFFECTMESH = CreateMesh("SpecialMesh", EFFECTPART, "Head", "", "", VT(X1 * Player_Size, Y1 * Player_Size, Z1 * Player_Size), OFFSET * Player_Size)
  705. game:GetService("Debris"):AddItem(EFFECTPART, 10)
  706. coroutine.resume(coroutine.create(function(PART, MESH)
  707. for i = 0, 1, delay do
  708. Swait()
  709. PART.CFrame = PART.CFrame * ROTATION
  710. PART.Transparency = i
  711. MESH.Scale = MESH.Scale + VT(X2 * Player_Size, Y2 * Player_Size, Z2 * Player_Size)
  712. end
  713. PART.Parent = nil
  714. end), EFFECTPART, EFFECTMESH)
  715. end
  716.  
  717. function MagicRing(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X1, Y1, Z1, X2, Y2, Z2, delay)
  718. local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT())
  719. EFFECTPART.Anchored = true
  720. EFFECTPART.CFrame = CFRAME
  721. local EFFECTMESH = CreateMesh("SpecialMesh", EFFECTPART, "FileMesh", "3270017", "", VT(X1 * Player_Size, Y1 * Player_Size, Z1 * Player_Size), OFFSET * Player_Size)
  722. game:GetService("Debris"):AddItem(EFFECTPART, 10)
  723. coroutine.resume(coroutine.create(function(PART, MESH)
  724. for i = 0, 1, delay do
  725. Swait()
  726. PART.CFrame = PART.CFrame * ROTATION
  727. PART.Transparency = i
  728. MESH.Scale = MESH.Scale + VT(X2 * Player_Size, Y2 * Player_Size, Z2 * Player_Size)
  729. end
  730. PART.Parent = nil
  731. end), EFFECTPART, EFFECTMESH)
  732. end
  733.  
  734. function MagicWave(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X1, Y1, Z1, X2, Y2, Z2, delay)
  735. local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT())
  736. EFFECTPART.Anchored = true
  737. EFFECTPART.CFrame = CFRAME
  738. 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))
  739. game:GetService("Debris"):AddItem(EFFECTPART, 10)
  740. coroutine.resume(coroutine.create(function(PART, MESH)
  741. for i = 0, 1, delay do
  742. Swait()
  743. PART.CFrame = PART.CFrame * ROTATION
  744. PART.Transparency = i
  745. MESH.Offset = VT(0, 0, (-0.1 * MESH.Scale.Z))
  746. MESH.Scale = MESH.Scale + VT(X2 * Player_Size, Y2 * Player_Size, Z2 * Player_Size)
  747. end
  748. PART.Parent = nil
  749. end), EFFECTPART, EFFECTMESH)
  750. end
  751.  
  752. function MagicCrystal(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X1, Y1, Z1, X2, Y2, Z2, delay)
  753. local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT())
  754. EFFECTPART.Anchored = true
  755. EFFECTPART.CFrame = CFRAME
  756. local EFFECTMESH = CreateMesh("SpecialMesh", EFFECTPART, "FileMesh", "9756362", "", VT(X1 * Player_Size, Y1 * Player_Size, Z1 * Player_Size), OFFSET * Player_Size)
  757. game:GetService("Debris"):AddItem(EFFECTPART, 10)
  758. coroutine.resume(coroutine.create(function(PART, MESH)
  759. for i = 0, 1, delay do
  760. Swait()
  761. PART.CFrame = PART.CFrame * ROTATION
  762. PART.Transparency = i
  763. MESH.Scale = MESH.Scale + VT(X2 * Player_Size, Y2 * Player_Size, Z2 * Player_Size)
  764. end
  765. PART.Parent = nil
  766. end), EFFECTPART, EFFECTMESH)
  767. end
  768.  
  769. function MagicSwirl(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X1, Y1, Z1, X2, Y2, Z2, delay)
  770. local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT())
  771. EFFECTPART.Anchored = true
  772. EFFECTPART.CFrame = CFRAME
  773. local EFFECTMESH = CreateMesh("SpecialMesh", EFFECTPART, "FileMesh", "1051557", "", VT(X1 * Player_Size, Y1 * Player_Size, Z1 * Player_Size), OFFSET * Player_Size)
  774. game:GetService("Debris"):AddItem(EFFECTPART, 10)
  775. coroutine.resume(coroutine.create(function(PART, MESH)
  776. for i = 0, 1, delay do
  777. Swait()
  778. PART.CFrame = PART.CFrame * ROTATION
  779. PART.Transparency = i
  780. MESH.Scale = MESH.Scale + VT(X2 * Player_Size, Y2 * Player_Size, Z2 * Player_Size)
  781. end
  782. PART.Parent = nil
  783. end), EFFECTPART, EFFECTMESH)
  784. end
  785.  
  786. function MagicSharpCone(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X1, Y1, Z1, X2, Y2, Z2, delay)
  787. local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT())
  788. EFFECTPART.Anchored = true
  789. EFFECTPART.CFrame = CFRAME
  790. local EFFECTMESH = CreateMesh("SpecialMesh", EFFECTPART, "FileMesh", "1778999", "", VT(X1 * Player_Size, Y1 * Player_Size, Z1 * Player_Size), OFFSET * Player_Size)
  791. game:GetService("Debris"):AddItem(EFFECTPART, 10)
  792. coroutine.resume(coroutine.create(function(PART, MESH)
  793. for i = 0, 1, delay do
  794. Swait()
  795. PART.CFrame = PART.CFrame * ROTATION
  796. PART.Transparency = i
  797. MESH.Scale = MESH.Scale + VT(X2 * Player_Size, Y2 * Player_Size, Z2 * Player_Size)
  798. end
  799. PART.Parent = nil
  800. end), EFFECTPART, EFFECTMESH)
  801. end
  802.  
  803. function MagicFlatCone(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X1, Y1, Z1, X2, Y2, Z2, delay)
  804. local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT())
  805. EFFECTPART.Anchored = true
  806. EFFECTPART.CFrame = CFRAME
  807. local EFFECTMESH = CreateMesh("SpecialMesh", EFFECTPART, "FileMesh", "1033714", "", VT(X1 * Player_Size, Y1 * Player_Size, Z1 * Player_Size), OFFSET * Player_Size)
  808. game:GetService("Debris"):AddItem(EFFECTPART, 10)
  809. coroutine.resume(coroutine.create(function(PART, MESH)
  810. for i = 0, 1, delay do
  811. Swait()
  812. PART.CFrame = PART.CFrame * ROTATION
  813. PART.Transparency = i
  814. MESH.Scale = MESH.Scale + VT(X2 * Player_Size, Y2 * Player_Size, Z2 * Player_Size)
  815. end
  816. PART.Parent = nil
  817. end), EFFECTPART, EFFECTMESH)
  818. end
  819.  
  820. function MagicSpikedCrown(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X1, Y1, Z1, X2, Y2, Z2, delay)
  821. local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT())
  822. EFFECTPART.Anchored = true
  823. EFFECTPART.CFrame = CFRAME
  824. local EFFECTMESH = CreateMesh("SpecialMesh", EFFECTPART, "FileMesh", "1323306", "", VT(X1 * Player_Size, Y1 * Player_Size, Z1 * Player_Size), OFFSET * Player_Size)
  825. game:GetService("Debris"):AddItem(EFFECTPART, 10)
  826. coroutine.resume(coroutine.create(function(PART, MESH)
  827. for i = 0, 1, delay do
  828. Swait()
  829. PART.CFrame = PART.CFrame * ROTATION
  830. PART.Transparency = i
  831. MESH.Scale = MESH.Scale + VT(X2 * Player_Size, Y2 * Player_Size, Z2 * Player_Size)
  832. end
  833. PART.Parent = nil
  834. end), EFFECTPART, EFFECTMESH)
  835. end
  836.  
  837. function MagicFlatCrown(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X1, Y1, Z1, X2, Y2, Z2, delay)
  838. local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT())
  839. EFFECTPART.Anchored = true
  840. EFFECTPART.CFrame = CFRAME
  841. local EFFECTMESH = CreateMesh("SpecialMesh", EFFECTPART, "FileMesh", "1078075", "", VT(X1 * Player_Size, Y1 * Player_Size, Z1 * Player_Size), OFFSET * Player_Size)
  842. game:GetService("Debris"):AddItem(EFFECTPART, 10)
  843. coroutine.resume(coroutine.create(function(PART, MESH)
  844. for i = 0, 1, delay do
  845. Swait()
  846. PART.CFrame = PART.CFrame * ROTATION
  847. PART.Transparency = i
  848. MESH.Scale = MESH.Scale + VT(X2 * Player_Size, Y2 * Player_Size, Z2 * Player_Size)
  849. end
  850. PART.Parent = nil
  851. end), EFFECTPART, EFFECTMESH)
  852. end
  853.  
  854. function MagicSkull(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X1, Y1, Z1, X2, Y2, Z2, delay)
  855. local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT())
  856. EFFECTPART.Anchored = true
  857. EFFECTPART.CFrame = CFRAME
  858. local EFFECTMESH = CreateMesh("SpecialMesh", EFFECTPART, "FileMesh", "4770583", "", VT(X1 * Player_Size, Y1 * Player_Size, Z1 * Player_Size), OFFSET * Player_Size)
  859. game:GetService("Debris"):AddItem(EFFECTPART, 10)
  860. coroutine.resume(coroutine.create(function(PART, MESH)
  861. for i = 0, 1, delay do
  862. Swait()
  863. PART.CFrame = PART.CFrame * ROTATION
  864. PART.Transparency = i
  865. MESH.Scale = MESH.Scale + VT(X2 * Player_Size, Y2 * Player_Size, Z2 * Player_Size)
  866. end
  867. PART.Parent = nil
  868. end), EFFECTPART, EFFECTMESH)
  869. end
  870.  
  871. function ElectricEffect(BRICKCOLOR, MATERIAL, CFRAME, ROTATION, OFFSET, X, Y, Z, delay)
  872. local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT())
  873. EFFECTPART.Anchored = true
  874. EFFECTPART.CFrame = CFRAME
  875. local EFFECTMESH = CreateMesh("SpecialMesh", EFFECTPART, "FileMesh", "4770583", "", VT(X * Player_Size, Y * Player_Size, Z * Player_Size), OFFSET * Player_Size)
  876. game:GetService("Debris"):AddItem(EFFECTPART, 10)
  877. local XVALUE = MRANDOM()
  878. local YVALUE = MRANDOM()
  879. local ZVALUE = MRANDOM()
  880. coroutine.resume(coroutine.create(function(PART, MESH, THEXVALUE, THEYVALUE, THEZVALUE)
  881. for i = 0, 1, delay do
  882. Swait()
  883. PART.CFrame = PART.CFrame * ROTATION
  884. PART.Transparency = i
  885. THEXVALUE = THEXVALUE - 0.1 * (delay * 10)
  886. THEYVALUE = THEYVALUE - 0.1 * (delay * 10)
  887. THEZVALUE = THEZVALUE - 0.1 * (delay * 10)
  888. MESH.Scale = MESH.Scale + VT(THEXVALUE * Player_Size, THEYVALUE * Player_Size, THEZVALUE * Player_Size)
  889. end
  890. PART.Parent = nil
  891. end), EFFECTPART, EFFECTMESH, XVALUE, YVALUE, ZVALUE)
  892. end
  893.  
  894. function TrailEffect(BRICKCOLOR, MATERIAL, CURRENTCFRAME, OLDCFRAME, MESHTYPE, REFLECTANCE, SIZE, ROTATION, X, Y, Z, delay)
  895. local MAGNITUDECFRAME = (CURRENTCFRAME.p - OLDCFRAME.p).magnitude
  896. if MAGNITUDECFRAME > (1 / 100) then
  897. local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 0, BRICKCOLOR, "Effect", VT(1, MAGNITUDECFRAME, 1))
  898. EFFECTPART.Anchored = true
  899. EFFECTPART.CFrame = CF((CURRENTCFRAME.p + OLDCFRAME.p) / 2, OLDCFRAME.p) * ANGLES(RAD(90), 0, 0)
  900. local THEMESHTYPE = "BlockMesh"
  901. if MESHTYPE == "Cylinder" then
  902. THEMESHTYPE = "CylinderMesh"
  903. end
  904. local EFFECTMESH = CreateMesh(THEMESHTYPE, EFFECTPART, "", "", "", VT(0 + SIZE * Player_Size, 1, 0 + SIZE * Player_Size), VT(0, 0, 0))
  905. game:GetService("Debris"):AddItem(EFFECTPART, 10)
  906. coroutine.resume(coroutine.create(function(PART, MESH)
  907. for i = 0, 1, delay do
  908. Swait()
  909. PART.CFrame = PART.CFrame * ROTATION
  910. PART.Transparency = i
  911. MESH.Scale = MESH.Scale + VT(X * Player_Size, Y * Player_Size, Z * Player_Size)
  912. end
  913. PART.Parent = nil
  914. end), EFFECTPART, EFFECTMESH)
  915. end
  916. end
  917.  
  918. function ClangEffect(BRICKCOLOR, MATERIAL, CFRAME, ANGLE, DURATION, SIZE, POWER, REFLECTANCE, X, Y, Z, delay)
  919. local EFFECTPART = CreatePart(3, Effects, MATERIAL, 0, 1, BRICKCOLOR, "Effect", VT())
  920. EFFECTPART.Anchored = true
  921. EFFECTPART.CFrame = CFRAME
  922. local EFFECTMESH = CreateMesh("BlockMesh", EFFECTPART, "", "", "", VT(0, 0, 0), VT(0, 0, 0))
  923. game:GetService("Debris"):AddItem(EFFECTPART, 10)
  924. local THELASTPOINT = CFRAME
  925. coroutine.resume(coroutine.create(function(PART)
  926. for i = 1, DURATION do
  927. Swait()
  928. PART.CFrame = PART.CFrame * ANGLES(RAD(ANGLE), 0, 0) * CF(0, POWER * Player_Size, 0)
  929. 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)
  930. THELASTPOINT = PART.CFrame
  931. end
  932. PART.Parent = nil
  933. end), EFFECTPART)
  934. end
  935.  
  936. --local list={}
  937. function Triangle(Color, Material, a, b, c, delay)
  938. local edge1 = (c - a):Dot((b - a).unit)
  939. local edge2 = (a - b):Dot((c - b).unit)
  940. local edge3 = (b - c):Dot((a - c).unit)
  941. if edge1 <= (b - a).magnitude and edge1 >= 0 then
  942. a, b, c=a, b, c
  943. elseif edge2 <= (c - b).magnitude and edge2 >= 0 then
  944. a, b, c=b, c, a
  945. elseif edge3 <= (a - c).magnitude and edge3 >= 0 then
  946. a, b, c=c, a, b
  947. else
  948. assert(false, "unreachable")
  949. end
  950. local len1 = (c - a):Dot((b - a).unit)
  951. local len2 = (b - a).magnitude - len1
  952. local width = (a + (b - a).unit * len1 - c).magnitude
  953. local maincf = CFrameFromTopBack(a, (b - a):Cross(c - b).unit, - (b - a).unit)
  954. if len1 > 1 / 100 then
  955. local sz = VT(0.2, width, len1)
  956. local w1 = CreatePart(3, Effects, Material, 0, 0.5, Color, "Trail", sz)
  957. local sp = CreateMesh("SpecialMesh", w1, "Wedge", "", "", VT(0, 1, 1) * sz / w1.Size, VT(0, 0, 0))
  958. w1.Anchored = true
  959. w1.CFrame = maincf * ANGLES(math.pi, 0, math.pi / 2) * CF(0, width / 2, len1 / 2)
  960. coroutine.resume(coroutine.create(function()
  961. for i = 0.5, 1, delay * (2 / Animation_Speed) do
  962. Swait()
  963. w1.Transparency = i
  964. end
  965. w1.Parent = nil
  966. end))
  967. game:GetService("Debris"):AddItem(w1, 10)
  968. --table.insert(list, w1)
  969. end
  970. if len2 > 1 / 100 then
  971. local sz = VT(0.2, width, len2)
  972. local w2 = CreatePart(3, Effects, Material, 0, 0.5, Color, "Trail", sz)
  973. local sp = CreateMesh("SpecialMesh", w2, "Wedge", "", "", VT(0, 1, 1) * sz / w2.Size, VT(0, 0, 0))
  974. w2.Anchored = true
  975. w2.CFrame = maincf * ANGLES(math.pi, math.pi, -math.pi / 2) * CF(0, width / 2, -len1 - len2 / 2)
  976. coroutine.resume(coroutine.create(function()
  977. for i = 0.5, 1, delay * (2 / Animation_Speed) do
  978. Swait()
  979. w2.Transparency = i
  980. end
  981. w2.Parent = nil
  982. end))
  983. game:GetService("Debris"):AddItem(w2, 10)
  984. --table.insert(list, w2)
  985. end
  986. --return unpack(list)
  987. end
  988.  
  989. --[[Usage:
  990. local Pos = Part
  991. local Offset = Part.CFrame * CF(0, 0, 0)
  992. local Color = "Institutional white"
  993. local Material = "Neon"
  994. local TheDelay = 0.01
  995. local Height = 4
  996. BLCF = Offset
  997. if SCFR and (Pos.Position - SCFR.p).magnitude > 0.1 then
  998. 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)
  999. if a then game:GetService("Debris"):AddItem(a, 1) end
  1000. if b then game:GetService("Debris"):AddItem(b, 1) end
  1001. 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)
  1002. if a then game:GetService("Debris"):AddItem(a, 1) end
  1003. if b then game:GetService("Debris"):AddItem(b, 1) end
  1004. SCFR = BLCF
  1005. elseif not SCFR then
  1006. SCFR = BLCF
  1007. end
  1008. --
  1009. BLCF = nil
  1010. SCFR = nil
  1011. --]]
  1012.  
  1013. --//=================================\\
  1014. --\\=================================//
  1015.  
  1016.  
  1017.  
  1018.  
  1019.  
  1020. --//=================================\\
  1021. --|| RESIZE PLAYER
  1022. --\\=================================//
  1023.  
  1024. if Player_Size ~= 1 then
  1025. RootPart.Size = RootPart.Size * Player_Size
  1026. Torso.Size = Torso.Size * Player_Size
  1027. Head.Size = Head.Size * Player_Size
  1028. RightArm.Size = RightArm.Size * Player_Size
  1029. LeftArm.Size = LeftArm.Size * Player_Size
  1030. RightLeg.Size = RightLeg.Size * Player_Size
  1031. LeftLeg.Size = LeftLeg.Size * Player_Size
  1032. RootJoint.Parent = RootPart
  1033. Neck.Parent = Torso
  1034. RightShoulder.Parent = Torso
  1035. LeftShoulder.Parent = Torso
  1036. RightHip.Parent = Torso
  1037. LeftHip.Parent = Torso
  1038.  
  1039. RootJoint.C0 = ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0))
  1040. RootJoint.C1 = ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0))
  1041. Neck.C0 = NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(0), RAD(0), RAD(0))
  1042. Neck.C1 = CF(0 * Player_Size, -0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-90), RAD(0), RAD(180))
  1043. RightShoulder.C0 = CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)) * RIGHTSHOULDERC0
  1044. LeftShoulder.C0 = CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(0)) * LEFTSHOULDERC0
  1045. if Disable_Moving_Arms == false then
  1046. RightShoulder.C1 = ANGLES(0, RAD(90), 0) * CF(0 * Player_Size, 0.5 * Player_Size, -0.5)
  1047. LeftShoulder.C1 = ANGLES(0, RAD(-90), 0) * CF(0 * Player_Size, 0.5 * Player_Size, -0.5)
  1048. else
  1049. RightShoulder.C1 = CF(0 * Player_Size, 0.5 * Player_Size, 0 * Player_Size)
  1050. LeftShoulder.C1 = CF(0 * Player_Size, 0.5 * Player_Size, 0 * Player_Size)
  1051. end
  1052. 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(0))
  1053. 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(0))
  1054. 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))
  1055. 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))
  1056. --------------------
  1057. end
  1058.  
  1059.  
  1060. --//=================================\\
  1061. --\\=================================//
  1062.  
  1063.  
  1064.  
  1065.  
  1066. --//=================================\\
  1067. --|| WEAPON CREATION
  1068. --\\=================================//
  1069.  
  1070. if Player_Size ~= 1 then
  1071. for _, v in pairs (Weapon:GetChildren()) do
  1072. if v.ClassName == "Motor" or v.ClassName == "Weld" or v.ClassName == "Snap" then
  1073. local p1 = v.Part1
  1074. v.Part1 = nil
  1075. local cf1, cf2, cf3, cf4, cf5, cf6, cf7, cf8, cf9, cf10, cf11, cf12 = v.C1:components()
  1076. v.C1 = CF(cf1 * Player_Size, cf2 * Player_Size, cf3 * Player_Size, cf4, cf5, cf6, cf7, cf8, cf9, cf10, cf11, cf12)
  1077. v.Part1 = p1
  1078. elseif v.ClassName == "Part" then
  1079. for _, b in pairs (v:GetChildren()) do
  1080. if b.ClassName == "SpecialMesh" or b.ClassName == "BlockMesh" then
  1081. b.Scale = VT(b.Scale.x * Player_Size, b.Scale.y * Player_Size, b.Scale.z * Player_Size)
  1082. end
  1083. end
  1084. end
  1085. end
  1086. end
  1087.  
  1088. for _, c in pairs(Weapon:GetChildren()) do
  1089. if c.ClassName == "Part" then
  1090. c.CustomPhysicalProperties = PhysicalProperties.new(0, 0, 0, 0, 0)
  1091. end
  1092. end
  1093.  
  1094. Weapon.Parent = Character
  1095.  
  1096. Humanoid.Died:connect(function()
  1097. ATTACK = true
  1098. end)
  1099.  
  1100. print(Class_Name.." loaded.")
  1101.  
  1102. --//=================================\\
  1103. --\\=================================//
  1104.  
  1105.  
  1106.  
  1107.  
  1108.  
  1109. --//=================================\\
  1110. --|| DAMAGE FUNCTIONS
  1111. --\\=================================//
  1112.  
  1113. function StatLabel(LABELTYPE, CFRAME, TEXT, COLOR)
  1114. local STATPART = CreatePart(3, Effects, "SmoothPlastic", 0, 1, "Really black", "Effect", VT())
  1115. STATPART.CFrame = CF(CFRAME.p + VT(0, 1.5, 0))
  1116. local BODYGYRO = IT("BodyGyro", STATPART)
  1117. local BODYPOSITION = IT("BodyPosition", STATPART)
  1118. BODYPOSITION.P = 2000
  1119. BODYPOSITION.D = 100
  1120. BODYPOSITION.maxForce = VT(math.huge, math.huge, math.huge)
  1121. if LABELTYPE == "Normal" then
  1122. BODYPOSITION.position = STATPART.Position + VT(MRANDOM(-2, 2), 6, MRANDOM(-2, 2))
  1123. elseif LABELTYPE == "Debuff" then
  1124. BODYPOSITION.position = STATPART.Position + VT(MRANDOM(-2, 2), 8, MRANDOM(-2, 2))
  1125. elseif LABELTYPE == "Interruption" then
  1126. BODYPOSITION.position = STATPART.Position + VT(MRANDOM(-2,2), 8, MRANDOM(-2, 2))
  1127. end
  1128. game:GetService("Debris"):AddItem(STATPART ,5)
  1129. local BILLBOARDGUI = Instance.new("BillboardGui", STATPART)
  1130. BILLBOARDGUI.Adornee = STATPART
  1131. BILLBOARDGUI.Size = UD2(2.5, 0, 2.5 ,0)
  1132. BILLBOARDGUI.StudsOffset = VT(-2, 2, 0)
  1133. BILLBOARDGUI.AlwaysOnTop = false
  1134. local TEXTLABEL = Instance.new("TextLabel", BILLBOARDGUI)
  1135. TEXTLABEL.BackgroundTransparency = 1
  1136. TEXTLABEL.Size = UD2(2.5, 0, 2.5, 0)
  1137. TEXTLABEL.Text = TEXT
  1138. TEXTLABEL.Font = "SourceSans"
  1139. TEXTLABEL.FontSize="Size42"
  1140. TEXTLABEL.TextColor3 = COLOR
  1141. TEXTLABEL.TextStrokeTransparency = 0
  1142. TEXTLABEL.TextScaled = true
  1143. TEXTLABEL.TextWrapped = true
  1144. coroutine.resume(coroutine.create(function(THEPART, THEBODYPOSITION, THETEXTLABEL)
  1145. wait(0.2)
  1146. for i=1, 5 do
  1147. wait()
  1148. THEBODYPOSITION.Position = THEPART.Position - VT(0, 0.5 ,0)
  1149. end
  1150. wait(1.2)
  1151. for i=1, 5 do
  1152. wait()
  1153. THETEXTLABEL.TextTransparency = THETEXTLABEL.TextTransparency + 0.2
  1154. THETEXTLABEL.TextStrokeTransparency = THETEXTLABEL.TextStrokeTransparency + 0.2
  1155. THEBODYPOSITION.position = THEPART.Position + VT(0, 0.5, 0)
  1156. end
  1157. THEPART.Parent = nil
  1158. end),STATPART, BODYPOSITION, TEXTLABEL)
  1159. end
  1160.  
  1161. function IncreaseOrDecreaseStat(LOCATION, STAT, AMOUNT, DURATION, SHOWTHESTAT)
  1162. if LOCATION:FindFirstChild("Stats") ~= nil then
  1163. if LOCATION.Stats:FindFirstChild("Block") ~= nil then
  1164. if LOCATION.Stats:FindFirstChild("Block").Value == true then
  1165. return
  1166. end
  1167. end
  1168. if LOCATION.Stats:FindFirstChild("ChangeStat") ~= nil and LOCATION.Stats:FindFirstChild("Block").Value == false then
  1169. local NewStatChange = IT("NumberValue")
  1170. NewStatChange.Value = AMOUNT
  1171. if STAT == "Defense" then
  1172. NewStatChange.Name = "ChangeDefense"
  1173. elseif STAT == "Damage" then
  1174. NewStatChange.Name = "ChangeDamage"
  1175. elseif STAT == "Movement" then
  1176. NewStatChange.Name = "ChangeMovement"
  1177. end
  1178. if SHOWTHESTAT == true then
  1179. if AMOUNT < 0 then
  1180. StatLabel("Debuff", LOCATION.Head.CFrame * CF(0, 0 + (LOCATION.Head.Size.z - 1), 0), "-"..STAT, C3(1, 1, 1))
  1181. elseif AMOUNT > 0 then
  1182. StatLabel("Debuff", LOCATION.Head.CFrame * CF(0, 0 + (LOCATION.Head.Size.z - 1), 0), "+"..STAT, C3(1, 1, 1))
  1183. end
  1184. end
  1185. if DURATION ~= nil and DURATION ~= 0 then
  1186. local StatDuration = IT("NumberValue")
  1187. StatDuration.Name = "Duration"
  1188. StatDuration.Value = DURATION
  1189. StatDuration.Parent = NewStatChange
  1190. end
  1191. NewStatChange.Parent = LOCATION.Stats:FindFirstChild("ChangeStat")
  1192. end
  1193. end
  1194. end
  1195.  
  1196. --Usage: DamageFunction(HITWEAPONSOUNDS[MRANDOM(1, #HITWEAPONSOUNDS)], HITARMORSOUNDS[MRANDOM(1, #HITARMORSOUNDS)], HITBLOCKSOUNDS[MRANDOM(1, #HITBLOCKSOUNDS)], HITPLAYERSOUNDS[MRANDOM(1, #HITPLAYERSOUNDS)], 1, 1, 1, 1, hit, false, 5, 10, MRANDOM(5, 10), "Normal", Part, 0.5, false, true, 1, MRANDOM(5, 10), nil, true, false, nil, 0, 0, false)
  1197. function DamageFunction(HITWEAPONSOUND, HITARMORSOUND, HITBLOCKSOUND, HITPLAYERSOUND, HITWEAPONSOUNDPITCH, HITARMORSOUNDPITCH, HITBLOCKSOUNDPITCH, HITPLAYERSOUNDPITCH, HIT, HITEVENWHENDEAD, MINIMUMDAMAGE, MAXIMUMDAMAGE, KNOCKBACK, TYPE, PROPERTY, DELAY, KNOCKBACKTYPE, INCREASESTUN, STAGGER, STAGGERHIT, RANGED, DECREASETHESTAT, DECREASEAMOUNT, DECREASEDURATION, SHOWDECREASEDSTAT)
  1198. if HIT.Parent == nil then
  1199. return
  1200. end
  1201. local HITHUMANOID = HIT.Parent:FindFirstChild("Humanoid")
  1202. for _, v in pairs(HIT.Parent:GetChildren()) do
  1203. if v:IsA("Humanoid") then
  1204. HITHUMANOID = v
  1205. end
  1206. end
  1207. if HIT.Name == "Hitbox" and RANGED ~= true and HIT.Parent ~= Weapon and Enable_Stagger_Hit == true then
  1208. StaggerHit.Value = true
  1209. if Play_Hitbox_Hit_Sound == true then
  1210. if HITWEAPONSOUND ~= "" and HITWEAPONSOUND ~= "nil" then
  1211. CreateSound(HITWEAPONSOUND, HIT, 1, HITWEAPONSOUNDPITCH)
  1212. end
  1213. end
  1214. return
  1215. end
  1216. if HIT.Parent.Parent:FindFirstChild("Torso") ~= nil or HIT.Parent.Parent:FindFirstChild("UpperTorso") ~= nil then
  1217. HITHUMANOID = HIT.Parent.Parent:FindFirstChild("Humanoid")
  1218. end
  1219. if HIT.Parent.ClassName == "Hat" or HIT.ClassName == "Accessory" then
  1220. HIT = HIT.Parent.Parent:FindFirstChild("Head")
  1221. end
  1222. if HITHUMANOID ~= nil and HIT.Parent.Name ~= Character.Name and (HIT.Parent:FindFirstChild("Torso") ~= nil or HIT.Parent:FindFirstChild("UpperTorso") ~= nil) then
  1223. if HIT.Parent:FindFirstChild("DebounceHit") ~= nil then
  1224. if HIT.Parent.DebounceHit.Value == true then
  1225. return
  1226. end
  1227. end
  1228. if AntiTeamKill.Value == true then
  1229. if Player.Neutral == false and game.Players:GetPlayerFromCharacter(HIT.Parent) ~= nil then
  1230. if game.Players:GetPlayerFromCharacter(HIT.Parent).TeamColor == Player.TeamColor then
  1231. return
  1232. end
  1233. end
  1234. end
  1235. if HITEVENWHENDEAD == false then
  1236. if HIT.Parent:FindFirstChild("Humanoid") ~= nil then
  1237. if HIT.Parent:FindFirstChild("Humanoid").Health <= 0 then
  1238. return
  1239. end
  1240. end
  1241. end
  1242. if HIT.Parent:FindFirstChild("Stats") ~= nil then
  1243. if HIT.Parent.Stats:FindFirstChild("StunValue") ~= nil then
  1244. HIT.Parent.Stats:FindFirstChild("StunValue").Value = HIT.Parent.Stats:FindFirstChild("StunValue").Value + INCREASESTUN
  1245. end
  1246. end
  1247. if HIT.Parent:FindFirstChild("Stats") ~= nil then
  1248. if HIT.Parent.Stats:FindFirstChild("Stagger") ~= nil then
  1249. if STAGGER == true and Enable_Stagger == true then
  1250. HIT.Parent.Stats:FindFirstChild("Stagger").Value = true
  1251. end
  1252. end
  1253. end
  1254. if HIT.Parent:FindFirstChild("Stats") ~= nil then
  1255. if HIT.Parent.Stats:FindFirstChild("Block") ~= nil then
  1256. if HIT.Parent.Stats:FindFirstChild("Block").Value == true then
  1257. HASBEENBLOCKED = true
  1258. if HIT.Parent.Stats:FindFirstChild("Block"):FindFirstChild("BlockDebounce") == nil then
  1259. StatLabel("Interruption", HIT.Parent.Head.CFrame * CF(0, 0 + (HIT.Parent.Head.Size.z - 1), 0), "Blocked!", C3(0, 100 / 255, 255 / 255))
  1260. if RANGED ~= true then
  1261. if HITBLOCKSOUND ~= "" and HITBLOCKSOUND ~= "nil" then
  1262. CreateSound(HITBLOCKSOUND, HIT, 1, HITBLOCKSOUNDPITCH)
  1263. end
  1264. end
  1265. local BlockDebounce = IT("BoolValue", HIT.Parent.Stats:FindFirstChild("Block"))
  1266. BlockDebounce.Name = "BlockDebounce"
  1267. BlockDebounce.Value = true
  1268. if RANGED ~= true then
  1269. game:GetService("Debris"):AddItem(BlockDebounce, 0.5)
  1270. else
  1271. game:GetService("Debris"):AddItem(BlockDebounce, 0.1)
  1272. end
  1273. end
  1274. if RANGED ~= true and Enable_Stagger == true then
  1275. HIT.Parent.Stats:FindFirstChild("Block").Value = false
  1276. Stagger.Value = true
  1277. end
  1278. return
  1279. end
  1280. end
  1281. end
  1282. if DECREASETHESTAT ~= nil then
  1283. if HIT.Parent:FindFirstChild("Stats") ~= nil then
  1284. IncreaseOrDecreaseStat(HIT.Parent, DECREASETHESTAT, DECREASEAMOUNT, DECREASEDURATION, SHOWDECREASEDSTAT)
  1285. end
  1286. end
  1287. local DAMAGE = MRANDOM(MINIMUMDAMAGE,MAXIMUMDAMAGE) * Damage.Value
  1288. if HIT.Parent:FindFirstChild("Stats") ~= nil then
  1289. if HIT.Parent.Stats:FindFirstChild("Defense") ~= nil then
  1290. if CanPenetrateArmor.Value == true then
  1291. DAMAGE = DAMAGE
  1292. else
  1293. DAMAGE = DAMAGE / HIT.Parent.Stats:FindFirstChild("Defense").Value
  1294. end
  1295. elseif HIT.Parent.Stats:FindFirstChild("Defense") == nil then
  1296. DAMAGE = DAMAGE
  1297. end
  1298. end
  1299. if CanCrit.Value == true then
  1300. CRITCHANCENUMBER = MRANDOM(1, CritChance.Value)
  1301. if CRITCHANCENUMBER == 1 then
  1302. DAMAGE = DAMAGE * 2
  1303. end
  1304. end
  1305. DAMAGE = math.floor(DAMAGE)
  1306. if HASBEENBLOCKED == false then
  1307. HITHUMANOID.Health = HITHUMANOID.Health - DAMAGE
  1308. end
  1309. if DAMAGE <= 3 and HASBEENBLOCKED == false then
  1310. if STAGGERHIT == true and Enable_Stagger_Hit == true and RANGED ~= true then
  1311. StaggerHit.Value = true
  1312. end
  1313. if HITARMORSOUND ~= "" and HITARMORSOUND ~= "nil" then
  1314. CreateSound(HITARMORSOUND, HIT, 1, HITARMORSOUNDPITCH)
  1315. end
  1316. elseif DAMAGE > 3 and HASBEENBLOCKED == false then
  1317. if HITPLAYERSOUND ~= "" and HITPLAYERSOUND ~= "nil" then
  1318. CreateSound(HITPLAYERSOUND, HIT, 1, HITPLAYERSOUNDPITCH)
  1319. end
  1320. end
  1321. if DAMAGE > 3 and DAMAGE < 20 and HASBEENBLOCKED == false then
  1322. if CanCrit.Value == true and CRITCHANCENUMBER == 1 then
  1323. StatLabel("Normal", HIT.Parent.Head.CFrame * CF(0, 0 + (HIT.Parent.Head.Size.z - 1), 0), "Crit! \n"..DAMAGE, C3(200/255, 0, 0))
  1324. CreateSound("296102734", HIT, 1, 1)
  1325. else
  1326. StatLabel("Normal", HIT.Parent.Head.CFrame * CF(0, 0 + (HIT.Parent.Head.Size.z - 1), 0), DAMAGE, C3(255/255, 220/255, 0))
  1327. end
  1328. elseif DAMAGE >= 20 and HASBEENBLOCKED == false then
  1329. if CanCrit.Value == true and CRITCHANCENUMBER == 1 then
  1330. StatLabel("Normal", HIT.Parent.Head.CFrame * CF(0, 0 + (HIT.Parent.Head.Size.z - 1), 0), "Crit! \n"..DAMAGE, C3(200/255, 0, 0))
  1331. CreateSound("296102734", HIT, 1, 1)
  1332. else
  1333. StatLabel("Normal", HIT.Parent.Head.CFrame * CF(0, 0 + (HIT.Parent.Head.Size.z - 1), 0), DAMAGE, C3(255/255, 0, 0))
  1334. end
  1335. elseif DAMAGE <= 3 and HASBEENBLOCKED == false then
  1336. if CanCrit.Value == true and CRITCHANCENUMBER == 1 then
  1337. StatLabel("Normal", HIT.Parent.Head.CFrame * CF(0, 0 + (HIT.Parent.Head.Size.z - 1), 0), "Crit! \n"..DAMAGE, C3(200/255, 0, 0))
  1338. CreateSound("296102734", HIT, 1, 1)
  1339. else
  1340. StatLabel("Normal", HIT.Parent.Head.CFrame * CF(0, 0 + (HIT.Parent.Head.Size.z - 1), 0), DAMAGE, C3(225/255, 225/255, 225/255))
  1341. end
  1342. end
  1343. if TYPE == "Normal" then
  1344. local vp = IT("BodyVelocity")
  1345. vp.P=500
  1346. vp.maxForce = VT(math.huge, 0, math.huge)
  1347. if KNOCKBACKTYPE == 1 then
  1348. vp.Velocity = PROPERTY.CFrame.lookVector * KNOCKBACK + PROPERTY.Velocity / 1.05
  1349. elseif KNOCKBACKTYPE == 2 then
  1350. vp.Velocity = PROPERTY.CFrame.lookVector * KNOCKBACK
  1351. end
  1352. if KNOCKBACK > 0 and HASBEENBLOCKED == false then
  1353. vp.Parent = HIT--.Parent.Torso
  1354. end
  1355. game:GetService("Debris"):AddItem(vp, 0.5)
  1356. end
  1357. HASBEENBLOCKED = false
  1358. RecentEnemy.Value = HIT.Parent
  1359. local DebounceHit = IT("BoolValue", HIT.Parent)
  1360. DebounceHit.Name = "DebounceHit"
  1361. DebounceHit.Value = true
  1362. game:GetService("Debris"):AddItem(DebounceHit, DELAY)
  1363. end
  1364. end
  1365.  
  1366. --Usage: MagnitudeDamage(HITWEAPONSOUNDS[MRANDOM(1, #HITWEAPONSOUNDS)], HITARMORSOUNDS[MRANDOM(1, #HITARMORSOUNDS)], HITBLOCKSOUNDS[MRANDOM(1, #HITBLOCKSOUNDS)], HITPLAYERSOUNDS[MRANDOM(1, #HITPLAYERSOUNDS)], 1, 1, 1, 1, Part, 5, true, 5, 10, MRANDOM(5, 10), "Normal", Part, 0.5, false, true, 1, MRANDOM(5, 10), nil, true, false, nil, 0, 0, false)
  1367. function MagnitudeDamage(HITWEAPONSOUND, HITARMORSOUND, HITBLOCKSOUND, HITPLAYERSOUND, HITWEAPONSOUNDPITCH, HITARMORSOUNDPITCH, HITBLOCKSOUNDPITCH, HITPLAYERSOUNDPITCH, PART, MAGNITUDE, HITEVENWHENDEAD, MINIMUMDAMAGE, MAXIMUMDAMAGE, KNOCKBACK, TYPE, PROPERTY, DELAY, KNOCKBACKTYPE, INCREASESTUN, STAGGER, STAGGERHIT, RANGED, MAGNITUDEDECREASETHESTAT, MAGNITUDEDECREASEAMOUNT, MAGNITUDEDECREASEDURATION, MAGNITUDESHOWDECREASEDSTAT)
  1368. for _, c in pairs(workspace:GetChildren()) do
  1369. local HUMANOID = c:FindFirstChild("Humanoid")
  1370. local HEAD = nil
  1371. if HUMANOID ~= nil then
  1372. for _, d in pairs(c:GetChildren()) do
  1373. if d.ClassName == "Model" and RANGED ~= true then
  1374. HEAD = d:FindFirstChild("Hitbox")
  1375. if HEAD ~= nil then
  1376. local THEMAGNITUDE = (HEAD.Position - PART.Position).magnitude
  1377. if THEMAGNITUDE <= (MAGNITUDE * Player_Size) and c.Name ~= Player.Name then
  1378. if Play_Hitbox_Hit_Sound == true then
  1379. local HitRefpart = CreatePart(3, Effects, "SmoothPlastic", 0, 1, "Really black", "Effect", VT())
  1380. HitRefpart.Anchored = true
  1381. HitRefpart.CFrame = CF(HEAD.Position)
  1382. CreateSound(HITWEAPONSOUND, HitRefpart, 1, HITWEAPONSOUNDPITCH)
  1383. end
  1384. if Enable_Stagger_Hit == true then
  1385. StaggerHit.Value = true
  1386. end
  1387. end
  1388. end
  1389. elseif d:IsA"BasePart" then
  1390. HEAD = d
  1391. if HEAD ~= nil then
  1392. local THEMAGNITUDE = (HEAD.Position - PART.Position).magnitude
  1393. if THEMAGNITUDE <= (MAGNITUDE * Player_Size) and c.Name ~= Player.Name then
  1394. DamageFunction(HITWEAPONSOUND, HITARMORSOUND, HITBLOCKSOUND, HITPLAYERSOUND, HITWEAPONSOUNDPITCH, HITARMORSOUNDPITCH, HITBLOCKSOUNDPITCH, HITPLAYERSOUNDPITCH, HEAD, HITEVENWHENDEAD, MINIMUMDAMAGE, MAXIMUMDAMAGE, KNOCKBACK, TYPE, PROPERTY, DELAY, KNOCKBACKTYPE, INCREASESTUN, STAGGER, STAGGERHIT, RANGED, MAGNITUDEDECREASETHESTAT, MAGNITUDEDECREASEAMOUNT, MAGNITUDEDECREASEDURATION, MAGNITUDESHOWDECREASEDSTAT)
  1395. end
  1396. end
  1397. end
  1398. end
  1399. end
  1400. end
  1401. end
  1402.  
  1403. --Usage: MagnitudeBuffOrDebuff(Part, 5, "Defense", -0.1, 3, true, true)
  1404. function MagnitudeBuffOrDebuff(PART, MAGNITUDE, STAT, AMOUNT, DURATION, SHOWBUFFORDEBUFF, APPLYTOOTHERSINSTEAD)
  1405. if Player.Neutral == true then
  1406. IncreaseOrDecreaseStat(Character, STAT, AMOUNT, DURATION, SHOWBUFFORDEBUFF)
  1407. end
  1408. for _, c in pairs(workspace:GetChildren()) do
  1409. local HUMANOID = c:FindFirstChild("Humanoid")
  1410. local THEHEAD = nil
  1411. if HUMANOID ~= nil then
  1412. if c:FindFirstChild("Torso") ~= nil then
  1413. THEHEAD = c:FindFirstChild("Torso")
  1414. elseif c:FindFirstChild("UpperTorso") ~= nil then
  1415. THEHEAD = c:FindFirstChild("UpperTorso")
  1416. end
  1417. if THEHEAD ~= nil then
  1418. local THEMAGNITUDE = (THEHEAD.Position - PART.Position).magnitude
  1419. print("yes 1")
  1420. if APPLYTOOTHERSINSTEAD == true then
  1421. if THEMAGNITUDE <= (MAGNITUDE * Player_Size) and c.Name ~= Player.Name then
  1422. if Player.Neutral == false and game.Players:GetPlayerFromCharacter(THEHEAD.Parent) ~= nil then
  1423. if game.Players:GetPlayerFromCharacter(THEHEAD.Parent).TeamColor == Player.TeamColor then
  1424. IncreaseOrDecreaseStat(THEHEAD.Parent, STAT, AMOUNT, DURATION, SHOWBUFFORDEBUFF)
  1425. end
  1426. end
  1427. end
  1428. elseif APPLYTOOTHERSINSTEAD == false then
  1429. if THEMAGNITUDE <= (MAGNITUDE * Player_Size) then
  1430. if Player.Neutral == false and game.Players:GetPlayerFromCharacter(THEHEAD.Parent) ~= nil then
  1431. if game.Players:GetPlayerFromCharacter(THEHEAD.Parent).TeamColor == Player.TeamColor then
  1432. IncreaseOrDecreaseStat(THEHEAD.Parent, STAT, AMOUNT, DURATION, SHOWBUFFORDEBUFF)
  1433. end
  1434. end
  1435. end
  1436. end
  1437. end
  1438. end
  1439. end
  1440. end
  1441.  
  1442. --//=================================\\
  1443. --\\=================================//
  1444.  
  1445.  
  1446.  
  1447.  
  1448.  
  1449. --//=================================\\
  1450. --|| WEAPON GUI
  1451. --\\=================================//
  1452.  
  1453. local MANABAR = CreateFrame(WEAPONGUI, Mana_Bar_Background_Transparency, 2, UD2(0.23, 0, 0.82, 0), UD2(0.26, 0, 0, 0), C3(Custom_Colors.Custom_Color_8.r, Custom_Colors.Custom_Color_8.g, Custom_Colors.Custom_Color_8.b), C3(0, 0, 0),"Mana Bar")
  1454. local MANACOVER = CreateFrame(MANABAR, 0, 2, UD2(0, 0, 0, 0), UD2(0, 0, 1, 0), C3(Custom_Colors.Custom_Color_5.r, Custom_Colors.Custom_Color_5.g, Custom_Colors.Custom_Color_5.b), C3(0, 0, 0),"Mana Cover")
  1455. local MANATEXT = CreateLabel(MANABAR, Mana_Name.." ["..FLOOR(Mana.Value).."]", C3(1, 1, 1), "Size32", "Legacy", 1, 2, 1, "Mana Text")
  1456.  
  1457. local HEALTHBAR = CreateFrame(WEAPONGUI, Health_Bar_Background_Transparency, 2, UD2(0.5, 0, 0.82, 0), UD2(0.26, 0, 0, 0), C3(Custom_Colors.Custom_Color_11.r, Custom_Colors.Custom_Color_11.g, Custom_Colors.Custom_Color_11.b), C3(0, 0, 0), "Health Bar")
  1458. local HEALTHCOVER = CreateFrame(HEALTHBAR, 0, 2,UD2(0, 0, 0, 0), UD2(0, 0, 1, 0), C3(Custom_Colors.Custom_Color_6.r, Custom_Colors.Custom_Color_6.g, Custom_Colors.Custom_Color_6.b), C3(0, 0, 0), "Health Cover")
  1459. local HEALTHTEXT = CreateLabel(HEALTHBAR, "Health ["..FLOOR(Humanoid.Health).."]", C3(1, 1, 1), "Size32", "Legacy", 1, 2, 1, "Health Text")
  1460.  
  1461. local STUNFRAME = CreateFrame(nil, Stun_Bar_Background_Transparency, 2, UD2(0.5, 0, 0.78, 0),UD2(0.26, 0, 0, 0),C3(Custom_Colors.Custom_Color_10.r, Custom_Colors.Custom_Color_10.g, Custom_Colors.Custom_Color_10.b), C3(0, 0, 0), "Stun Frame")
  1462. local STUNBAR = CreateFrame(STUNFRAME, 0, 2, UD2(0, 0, 0, 0),UD2(0, 0, 1, 0),C3(Custom_Colors.Custom_Color_7.r, Custom_Colors.Custom_Color_7.g, Custom_Colors.Custom_Color_7.b), C3(0, 0, 0), "Stun Bar")
  1463. local STUNTEXT = CreateLabel(STUNFRAME, "Stun ["..FLOOR(StunValue.Value).."]", C3(1, 1, 1), "Size32", "Legacy", 1, 2, 1, "Stun Text")
  1464.  
  1465. local SECONDARYMANABAR = CreateFrame(nil, Secondary_Mana_Bar_Background_Transparency, 2, UD2(0.23, 0, 0.78, 0), UD2(0.26, 0, 0, 0), C3(Custom_Colors.Custom_Color_9.r, Custom_Colors.Custom_Color_9.g, Custom_Colors.Custom_Color_9.b), C3(0, 0, 0),"Secondary Mana Bar")
  1466. local SECONDARYMANACOVER = CreateFrame(SECONDARYMANABAR, 0, 2, UD2(0, 0, 0, 0), UD2(0, 0, 1, 0), C3(Custom_Colors.Custom_Color_4.r, Custom_Colors.Custom_Color_4.g, Custom_Colors.Custom_Color_4.b), C3(0, 0, 0),"Secondary Mana Cover")
  1467. local SECONDARYMANATEXT = CreateLabel(SECONDARYMANABAR, Secondary_Mana_Name.." ["..FLOOR(SecondaryMana.Value).."]", C3(1, 1, 1), "Size32", "Legacy", 1, 2, 1, "Secondary Mana Text")
  1468.  
  1469. local DEFENSEFRAME = CreateFrame(nil, Stat_Background_Transparency, 2, UD2(0.23, 0, Stat_Offset, 0), UD2(0.075, 0, 0, 0), C3(100 / 255, 100 / 255, 255 / 255), C3(0, 0, 0),"Defense Frame")
  1470. local DEFENSETEXT = CreateLabel(DEFENSEFRAME, "Defense ["..(Defense.Value * 100).."%]", C3(1, 1, 1), "Size32", "Legacy", 1, 2, 1, "Defense Text")
  1471.  
  1472. local DAMAGEFRAME = CreateFrame(nil, Stat_Background_Transparency, 2, UD2(0.456, 0, Stat_Offset, 0), UD2(0.075, 0, 0, 0), C3(255 / 255, 100 / 255, 100 / 255), C3(0, 0, 0),"Damage Frame")
  1473. local DAMAGETEXT = CreateLabel(DAMAGEFRAME, "Damage ["..(Damage.Value * 100).."%]", C3(1, 1, 1), "Size32", "Legacy", 1, 2, 1, "Damage Text")
  1474.  
  1475. local MOVEMENTFRAME = CreateFrame(nil, Stat_Background_Transparency, 2, UD2(0.685, 0, Stat_Offset, 0), UD2(0.075, 0, 0, 0), C3(100 / 255, 255 / 255, 100 / 255), C3(0, 0, 0),"Movement Frame")
  1476. local MOVEMENTTEXT = CreateLabel(MOVEMENTFRAME, "Movement ["..(Movement.Value * 100).."%]", C3(1, 1, 1), "Size32", "Legacy", 1, 2, 1, "Movement Text")
  1477.  
  1478. local SKILL1FRAME = CreateFrame(nil, Ability_Background_Transparency, 2, UD2(0.23, 0, 0.86, 0), UD2(0.26, 0, 0, 0), C3(Custom_Colors.Custom_Color_12.r, Custom_Colors.Custom_Color_12.g, Custom_Colors.Custom_Color_12.b), C3(0, 0, 0), "Skill 1 Frame")
  1479. local SKILL2FRAME = CreateFrame(nil, Ability_Background_Transparency, 2, UD2(0.50, 0, 0.86, 0), UD2(0.26, 0, 0, 0), C3(Custom_Colors.Custom_Color_12.r, Custom_Colors.Custom_Color_12.g, Custom_Colors.Custom_Color_12.b), C3(0, 0, 0), "Skill 2 Frame")
  1480. local SKILL3FRAME = CreateFrame(nil, Ability_Background_Transparency, 2, UD2(0.23, 0, 0.93, 0), UD2(0.26, 0, 0, 0), C3(Custom_Colors.Custom_Color_12.r, Custom_Colors.Custom_Color_12.g, Custom_Colors.Custom_Color_12.b), C3(0, 0, 0), "Skill 3 Frame")
  1481. local SKILL4FRAME = CreateFrame(nil, Ability_Background_Transparency, 2, UD2(0.50, 0, 0.93, 0), UD2(0.26, 0, 0, 0), C3(Custom_Colors.Custom_Color_12.r, Custom_Colors.Custom_Color_12.g, Custom_Colors.Custom_Color_12.b), C3(0, 0, 0), "Skill 4 Frame")
  1482.  
  1483. local SKILL1BAR = CreateFrame(SKILL1FRAME, 0, 2, UD2(0, 0, 0, 0), UD2(0, 0, 1, 0), C3(Custom_Colors.Custom_Color_3.r, Custom_Colors.Custom_Color_3.g, Custom_Colors.Custom_Color_3.b), C3(0, 0, 0), "Skill 1 Bar")
  1484. local SKILL2BAR = CreateFrame(SKILL2FRAME, 0, 2, UD2(0, 0, 0, 0), UD2(0, 0, 1, 0), C3(Custom_Colors.Custom_Color_3.r, Custom_Colors.Custom_Color_3.g, Custom_Colors.Custom_Color_3.b), C3(0, 0, 0), "Skill 2 Bar")
  1485. local SKILL3BAR = CreateFrame(SKILL3FRAME, 0, 2, UD2(0, 0, 0, 0), UD2(0, 0, 1, 0), C3(Custom_Colors.Custom_Color_3.r, Custom_Colors.Custom_Color_3.g, Custom_Colors.Custom_Color_3.b), C3(0, 0, 0), "Skill 3 Bar")
  1486. local SKILL4BAR = CreateFrame(SKILL4FRAME, 0, 2, UD2(0, 0, 0, 0), UD2(0, 0, 1, 0), C3(Custom_Colors.Custom_Color_3.r, Custom_Colors.Custom_Color_3.g, Custom_Colors.Custom_Color_3.b), C3(0, 0, 0), "Skill 4 Bar")
  1487.  
  1488. local SKILL1TEXT = CreateLabel(SKILL1FRAME, "[Z] Ability 1", C3(1, 1, 1), "Size32", "Legacy", 1, 2, 1, "Text 1")
  1489. local SKILL2TEXT = CreateLabel(SKILL2FRAME, "[X] Ability 2", C3(1, 1, 1), "Size32", "Legacy", 1, 2, 1, "Text 2")
  1490. local SKILL3TEXT = CreateLabel(SKILL3FRAME, "[C] Ability 3", C3(1, 1, 1), "Size32", "Legacy", 1, 2, 1, "Text 3")
  1491. local SKILL4TEXT = CreateLabel(SKILL4FRAME, "[V] Ability 4", C3(1, 1, 1), "Size32", "Legacy", 1, 2, 1, "Text 4")
  1492.  
  1493. local Gun = CreatePart(3, Weapon, "SmoothPlastic", 0, 0, "Really black", "Handle", VT(0, 0, 0))
  1494. local HandleMesh = CreateMesh("SpecialMesh", Gun, "FileMesh", "72012879", "72012859", VT(2,2,2), VT(0,0, 0))
  1495. local Weld = CreateWeldOrSnapOrMotor("Weld", Gun, RightArm, Gun, CF(0 * Player_Size, -1.6 * Player_Size, -0.2 * Player_Size) * ANGLES(RAD(180), RAD(0), RAD(0)), CF(0, 0, 0))
  1496.  
  1497. local GunPoint = CreatePart(3, Weapon, "SmoothPlastic", 0, 1, "Really black", "Handle", VT(0, 0, 0))
  1498. local HandleWeld = CreateWeldOrSnapOrMotor("Weld", GunPoint, RightArm, GunPoint, CF(0 * Player_Size, -2.6 * Player_Size, -0.6 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(135)), CF(0, 0, 0))
  1499.  
  1500. if Enable_Gui == true then
  1501. WEAPONGUI.Parent = PlayerGui
  1502. end
  1503.  
  1504. if Enable_Stats == true and Show_Stats == true then
  1505. DEFENSEFRAME.Parent = WEAPONGUI
  1506. DAMAGEFRAME.Parent = WEAPONGUI
  1507. MOVEMENTFRAME.Parent = WEAPONGUI
  1508. end
  1509.  
  1510. if Enable_Secondary_Bar == true then
  1511. SECONDARYMANABAR.Parent = WEAPONGUI
  1512. end
  1513.  
  1514. if Enable_Abilities == true then
  1515. SKILL1FRAME.Parent = WEAPONGUI
  1516. SKILL2FRAME.Parent = WEAPONGUI
  1517. SKILL3FRAME.Parent = WEAPONGUI
  1518. SKILL4FRAME.Parent = WEAPONGUI
  1519. end
  1520.  
  1521. if Enable_Stun == true then
  1522. STUNFRAME.Parent = WEAPONGUI
  1523. end
  1524.  
  1525. function UpdateGUI()
  1526. MANABAR:TweenSize(UD2(0.26, 0, 0.03, 0), "Out", "Quad", Menu_Update_Speed, Constant_Update)
  1527. MANACOVER:TweenSize(UD2(1 * (Mana.Value / Max_Mana), 0, 1, 0), "Out", "Quad", Menu_Update_Speed, Constant_Update)
  1528. MANATEXT.Text = Mana_Name.." ["..FLOOR(Mana.Value).."]"
  1529. HEALTHBAR:TweenSize(UD2(0.26, 0, 0.03, 0), "Out", "Quad", Menu_Update_Speed, Constant_Update)
  1530. HEALTHCOVER:TweenSize(UD2(1 * (Humanoid.Health / Humanoid.MaxHealth), 0, 1, 0), "Out", "Quad", Menu_Update_Speed, Constant_Update)
  1531. HEALTHTEXT.Text = "Health ["..FLOOR(Humanoid.Health).."]"
  1532. if Enable_Abilities == true then
  1533. SKILL1FRAME:TweenSize(UD2(0.26, 0, 0.06, 0), "Out", "Quad", Menu_Update_Speed, Constant_Update)
  1534. SKILL2FRAME:TweenSize(UD2(0.26, 0, 0.06, 0), "Out", "Quad", Menu_Update_Speed, Constant_Update)
  1535. SKILL3FRAME:TweenSize(UD2(0.26, 0, 0.06, 0), "Out", "Quad", Menu_Update_Speed, Constant_Update)
  1536. SKILL4FRAME:TweenSize(UD2(0.26, 0, 0.06, 0), "Out", "Quad", Menu_Update_Speed, Constant_Update)
  1537. SKILL1BAR:TweenSize(UD2(1 * (CO1 / Cooldown_1), 0, 1, 0), "Out", "Quad", Menu_Update_Speed, Constant_Update)
  1538. SKILL2BAR:TweenSize(UD2(1 * (CO2 / Cooldown_2), 0, 1, 0), "Out", "Quad", Menu_Update_Speed, Constant_Update)
  1539. SKILL3BAR:TweenSize(UD2(1 * (CO3 / Cooldown_3), 0, 1, 0), "Out", "Quad", Menu_Update_Speed, Constant_Update)
  1540. SKILL4BAR:TweenSize(UD2(1 * (CO4 / Cooldown_4), 0, 1, 0), "Out", "Quad", Menu_Update_Speed, Constant_Update)
  1541. end
  1542. if Enable_Stats == true and Show_Stats == true then
  1543. DEFENSEFRAME:TweenSize(UD2(0.075, 0, 0.03), "Out", "Quad", Menu_Update_Speed, Constant_Update)
  1544. DEFENSETEXT.Text = "Defense ["..(Defense.Value * 100).."%]"
  1545. DAMAGEFRAME:TweenSize(UD2(0.075, 0, 0.03), "Out", "Quad", Menu_Update_Speed, Constant_Update)
  1546. DAMAGETEXT.Text = "Damage ["..(Damage.Value * 100).."%]"
  1547. MOVEMENTFRAME:TweenSize(UD2(0.075, 0, 0.03), "Out", "Quad", Menu_Update_Speed, Constant_Update)
  1548. MOVEMENTTEXT.Text = "Movement ["..(Movement.Value * 100).."%]"
  1549. end
  1550. if Enable_Stun == true then
  1551. STUNFRAME:TweenSize(UD2(0.26, 0, 0.03, 0), "Out", "Quad", Menu_Update_Speed, Constant_Update)
  1552. STUNBAR:TweenSize(UD2(1 * (StunValue.Value / Max_Stun), 0, 1, 0), "Out", "Quad", Menu_Update_Speed, Constant_Update)
  1553. STUNTEXT.Text = "Stun ["..FLOOR(StunValue.Value).."]"
  1554. end
  1555. if Enable_Secondary_Bar == true then
  1556. SECONDARYMANABAR:TweenSize(UD2(0.26, 0, 0.03, 0), "Out", "Quad", Menu_Update_Speed, Constant_Update)
  1557. SECONDARYMANACOVER:TweenSize(UD2(1 * (SecondaryMana.Value / Max_Secondary_Mana), 0, 1, 0), "Out", "Quad", Menu_Update_Speed, Constant_Update)
  1558. SECONDARYMANATEXT.Text = Secondary_Mana_Name.." ["..FLOOR(SecondaryMana.Value).."]"
  1559. end
  1560. end
  1561.  
  1562. if Enable_Gui == true then
  1563. UpdateGUI()
  1564. for _, v in pairs (WEAPONGUI:GetChildren()) do
  1565. if v.ClassName == "Frame" then
  1566. for _, b in pairs (v:GetChildren()) do
  1567. if b.ClassName == "TextLabel" then
  1568. coroutine.resume(coroutine.create(function(THETEXTLABEL)
  1569. wait(Menu_Update_Speed)
  1570. for i = 1, 0, -0.1 do
  1571. Swait()
  1572. THETEXTLABEL.TextTransparency = i
  1573. THETEXTLABEL.TextStrokeTransparency = i
  1574. end
  1575. THETEXTLABEL.TextTransparency = 0
  1576. THETEXTLABEL.TextStrokeTransparency = 0
  1577. end), b)
  1578. end
  1579. end
  1580. end
  1581. end
  1582. end
  1583.  
  1584. --//=================================\\
  1585. --\\=================================//
  1586.  
  1587.  
  1588.  
  1589.  
  1590.  
  1591. --//=================================\\
  1592. --|| SKILL FUNCTIONS
  1593. --\\=================================//
  1594.  
  1595. function UpdateSkillsAndStuff()
  1596. if Mana_Regen_Mode == "1" then
  1597. if Mana.Value >= Max_Mana then
  1598. Mana.Value = Max_Mana
  1599. elseif Mana.Value < 0 then
  1600. Mana.Value = 0
  1601. else
  1602. if MANADELAYNUMBER <= Mana_Wait then
  1603. MANADELAYNUMBER = MANADELAYNUMBER + 1
  1604. else
  1605. MANADELAYNUMBER = 0
  1606. Mana.Value = Mana.Value + Recover_Mana
  1607. end
  1608. end
  1609. elseif Mana_Regen_Mode == "2" then
  1610. if Mana.Value <= Max_Mana then
  1611. Mana.Value = Mana.Value + (Recover_Mana / 30) / Animation_Speed
  1612. elseif Mana.Value >= Max_Mana then
  1613. Mana.Value = Max_Mana
  1614. elseif Mana.Value < 0 then
  1615. Mana.Value = 0
  1616. end
  1617. end
  1618. if Enable_Secondary_Bar == true then
  1619. if Secondary_Mana_Regen_Mode == "1" then
  1620. if SecondaryMana.Value >= Max_Secondary_Mana then
  1621. SecondaryMana.Value = Max_Secondary_Mana
  1622. elseif SecondaryMana.Value < 0 then
  1623. SecondaryMana.Value = 0
  1624. else
  1625. if SECONDARYMANADELAYNUMBER <= Secondary_Mana_Wait then
  1626. SECONDARYMANADELAYNUMBER = SECONDARYMANADELAYNUMBER + 1
  1627. else
  1628. SECONDARYMANADELAYNUMBER = 0
  1629. SecondaryMana.Value = SecondaryMana.Value + Recover_Secondary_Mana
  1630. end
  1631. end
  1632. elseif Secondary_Mana_Regen_Mode == "2" then
  1633. if SecondaryMana.Value <= Max_Secondary_Mana then
  1634. SecondaryMana.Value = SecondaryMana.Value + (Recover_Secondary_Mana / 30) / Animation_Speed
  1635. elseif SecondaryMana.Value >= Max_Secondary_Mana then
  1636. SecondaryMana.Value = Max_Secondary_Mana
  1637. elseif SecondaryMana.Value < 0 then
  1638. SecondaryMana.Value = 0
  1639. end
  1640. end
  1641. else
  1642. SecondaryMana.Value = 0
  1643. end
  1644. if Enable_Stun == true then
  1645. if Stun_Lose_Mode == "1" then
  1646. if StunValue.Value > Max_Stun then
  1647. StunValue.Value = Max_Stun
  1648. elseif StunValue.Value <= 0 then
  1649. StunValue.Value = 0
  1650. else
  1651. if STUNDELAYNUMBER <= Stun_Wait then
  1652. STUNDELAYNUMBER = STUNDELAYNUMBER + 1
  1653. else
  1654. STUNDELAYNUMBER = 0
  1655. StunValue.Value = StunValue.Value - Lose_Stun
  1656. end
  1657. end
  1658. elseif Stun_Lose_Mode == "2" then
  1659. if StunValue.Value <= Max_Stun and StunValue.Value > 0 then
  1660. StunValue.Value = StunValue.Value - (Lose_Stun / 30) / Animation_Speed
  1661. elseif StunValue.Value > Max_Stun then
  1662. StunValue.Value = Max_Stun
  1663. elseif StunValue.Value <= 0 then
  1664. StunValue.Value = 0
  1665. end
  1666. end
  1667. else
  1668. StunValue.Value = 0
  1669. end
  1670. if Enable_Abilities == true then
  1671. if CO1 <= Cooldown_1 then
  1672. CO1 = CO1 + (1 / 30) / Animation_Speed
  1673. elseif CO1 >= Cooldown_1 then
  1674. CO1 = Cooldown_1
  1675. end
  1676. if CO2 <= Cooldown_2 then
  1677. CO2 = CO2 + (1 / 30) / Animation_Speed
  1678. elseif CO2 >= Cooldown_2 then
  1679. CO2 = Cooldown_2
  1680. end
  1681. if CO3 <= Cooldown_3 then
  1682. CO3 = CO3 + (1 / 30) / Animation_Speed
  1683. elseif CO3 >= Cooldown_3 then
  1684. CO3 = Cooldown_3
  1685. end
  1686. if CO4 <= Cooldown_4 then
  1687. CO4 = CO4 + (1 / 30) / Animation_Speed
  1688. elseif CO4 >= Cooldown_4 then
  1689. CO4 = Cooldown_4
  1690. end
  1691. end
  1692. end
  1693.  
  1694. --//=================================\\
  1695. --\\=================================//
  1696.  
  1697.  
  1698.  
  1699.  
  1700.  
  1701. --//=================================\\
  1702. --|| ATTACK FUNCTIONS AND STUFF
  1703. --\\=================================//
  1704.  
  1705. function StaggerHitAnimation()
  1706. ATTACK = true
  1707. if Weapon:FindFirstChild("Hitbox") ~= nil then
  1708. for i = 1, MRANDOM(2, 4) do
  1709. ClangEffect("Bright yellow", "Neon", CF(Weapon:FindFirstChild("Hitbox").Position) * ANGLES(RAD(MRANDOM(-50, 50)), RAD(MRANDOM(-50, 50)), RAD(MRANDOM(-50, 50))), 20, 5, 0.2, MRANDOM(5, 15) / 10, 0, -0.02, 0, -0.02, 0.1)
  1710. end
  1711. end
  1712. for i = 0, 1, 0.1 / Animation_Speed do
  1713. Swait()
  1714. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-10), RAD(0), RAD(-30)), 0.3 / Animation_Speed)
  1715. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(0), RAD(0), RAD(30)) * ANGLES(RAD(5), RAD(0), RAD(0)), 0.3 / Animation_Speed)
  1716. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-30), RAD(0), RAD(60)) * ANGLES(RAD(0), RAD(-30), RAD(0)) * RIGHTSHOULDERC0, 0.3 / Animation_Speed)
  1717. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-20), RAD(0), RAD(-20)) * ANGLES(RAD(0), RAD(20), RAD(0)) * LEFTSHOULDERC0, 0.3 / Animation_Speed)
  1718. RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.9 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-10), RAD(0), RAD(-20)), 0.3 / Animation_Speed)
  1719. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -1.1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(-70), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(10)), 0.3 / Animation_Speed)
  1720. if Stagger.Value == true or Stun.Value == true then
  1721. break
  1722. end
  1723. end
  1724. ATTACK = false
  1725. end
  1726.  
  1727. function StaggerAnimation()
  1728. ATTACK = true
  1729. if Weapon:FindFirstChild("Hitbox") ~= nil then
  1730. for i = 1, MRANDOM(2, 4) do
  1731. ClangEffect("Bright yellow", "Neon", CF(Weapon:FindFirstChild("Hitbox").Position) * ANGLES(RAD(MRANDOM(-50, 50)), RAD(MRANDOM(-50, 50)), RAD(MRANDOM(-50, 50))), 20, 5, 0.2, MRANDOM(5, 15) / 10, 0, -0.02, 0, -0.02, 0.1)
  1732. end
  1733. end
  1734. DISABLEJUMPING = true
  1735. COMBO = 1
  1736. StatLabel("Interruption", Head.CFrame * CF(0, 0 + (Head.Size.z - 1), 0), "Staggered!", C3(255 / 255, 255 / 255, 0))
  1737. local STAGGERVELOCITY = Instance.new("BodyVelocity",Torso)
  1738. STAGGERVELOCITY.P = 500
  1739. STAGGERVELOCITY.maxForce = VT(math.huge, 0, math.huge)
  1740. if Rooted.Value == false then
  1741. STAGGERVELOCITY.Velocity = RootPart.CFrame.lookVector * -40
  1742. end
  1743. for i = 0, 1, 0.35 / Animation_Speed do
  1744. Swait()
  1745. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-5), RAD(0), RAD(-20)), 0.3 / Animation_Speed)
  1746. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(2.5), RAD(0), RAD(20)), 0.3 / Animation_Speed)
  1747. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size,0 * Player_Size) * ANGLES(RAD(-15), RAD(0), RAD(30)) * RIGHTSHOULDERC0, 0.3 / Animation_Speed)
  1748. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size,0 * Player_Size) * ANGLES(RAD(-7.5), RAD(0), RAD(-20)) * LEFTSHOULDERC0, 0.3 / Animation_Speed)
  1749. RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -1 * Player_Size,0 * Player_Size) * ANGLES(RAD(0), RAD(80), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(30)), 0.3 / Animation_Speed)
  1750. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -1 * Player_Size,0 * Player_Size) * ANGLES(RAD(0), RAD(-70), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(5)), 0.3 / Animation_Speed)
  1751. end
  1752. for i = 0, 1, 0.2 / Animation_Speed do
  1753. Swait()
  1754. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, -0.25 * Player_Size) * ANGLES(RAD(-25), RAD(0), RAD(-20)), 0.4 / Animation_Speed)
  1755. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(-5), RAD(0), RAD(20)), 0.4 / Animation_Speed)
  1756. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-15), RAD(0), RAD(30)) * RIGHTSHOULDERC0, 0.4 / Animation_Speed)
  1757. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-7.5), RAD(0), RAD(-20)) * LEFTSHOULDERC0, 0.4 / Animation_Speed)
  1758. RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(80), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(50)), 0.4 / Animation_Speed)
  1759. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(-70), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(25)), 0.4 / Animation_Speed)
  1760. end
  1761. STAGGERVELOCITY.Parent = nil
  1762. for i = 1, 50 * Animation_Speed do
  1763. Swait()
  1764. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, -1.8 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(-20)) * ANGLES(RAD(-5), RAD(-5), RAD(0)), 0.3 / Animation_Speed)
  1765. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(20), RAD(0), RAD(20)) * ANGLES(RAD(0), RAD(5), RAD(0)), 0.3 / Animation_Speed)
  1766. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(20)) * ANGLES(RAD(0), RAD(-20), RAD(0)) * RIGHTSHOULDERC0, 0.3 / Animation_Speed)
  1767. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-15), RAD(0), RAD(-10)) * ANGLES(RAD(0), RAD(15), RAD(0)) * LEFTSHOULDERC0, 0.3 / Animation_Speed)
  1768. RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.4 * Player_Size, -0.3 * Player_Size) * ANGLES(RAD(0), RAD(75), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(70)) * ANGLES(RAD(0), RAD(30), RAD(0)), 0.3 / Animation_Speed)
  1769. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, 0.5 * Player_Size, -0.5 * Player_Size) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(-2.5), RAD(0), RAD(-10)), 0.3 / Animation_Speed)
  1770. end
  1771. DISABLEJUMPING = false
  1772. ATTACK = false
  1773. end
  1774.  
  1775. function StunAnimation()
  1776. ATTACK = true
  1777. DISABLEJUMPING = true
  1778. COMBO = 1
  1779. StatLabel("Interruption", Head.CFrame * CF(0, 0 + (Head.Size.z - 1), 0), "Stunned!", C3(255 / 255, 255 / 255, 0))
  1780. for i = 0, 1, 0.3 / Animation_Speed do
  1781. Swait()
  1782. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, -0.05 * Player_Size) * ANGLES(RAD(15), RAD(0), RAD(-150)), 0.3 / Animation_Speed)
  1783. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(-10), RAD(0), RAD(-20)), 0.3 / Animation_Speed)
  1784. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(30), RAD(0), RAD(40)) * RIGHTSHOULDERC0, 0.3 / Animation_Speed)
  1785. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-20), RAD(0), RAD(-50)) * LEFTSHOULDERC0, 0.3 / Animation_Speed)
  1786. RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(85), RAD(0)) * ANGLES(RAD(-15), RAD(0), RAD(30)), 0.3 / Animation_Speed)
  1787. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(-10), RAD(0), RAD(20)), 0.3 / Animation_Speed)
  1788. end
  1789. for i = 0, 1, 0.3 / Animation_Speed do
  1790. Swait()
  1791. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, -0.05 * Player_Size) * ANGLES(RAD(45), RAD(0), RAD(-180)), 0.4 / Animation_Speed)
  1792. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(-15), RAD(0), RAD(-30)), 0.4 / Animation_Speed)
  1793. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(30), RAD(0), RAD(40)) * RIGHTSHOULDERC0, 0.4 / Animation_Speed)
  1794. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-20), RAD(0), RAD(-50)) * LEFTSHOULDERC0, 0.4 / Animation_Speed)
  1795. RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(85), RAD(0)) * ANGLES(RAD(-10), RAD(0), RAD(15)), 0.4 / Animation_Speed)
  1796. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(-10), RAD(0), RAD(50)), 0.4 / Animation_Speed)
  1797. end
  1798. for i = 0, 1, 0.3 / Animation_Speed do
  1799. Swait()
  1800. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, -0.3 * Player_Size) * ANGLES(RAD(75), RAD(0), RAD(-180)), 0.4 / Animation_Speed)
  1801. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(-15), RAD(0), RAD(-60)), 0.4 / Animation_Speed)
  1802. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(20), RAD(0), RAD(70)) * ANGLES(RAD(0), RAD(30), RAD(0)) * RIGHTSHOULDERC0, 0.4 / Animation_Speed)
  1803. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-10), RAD(0), RAD(-80)) * ANGLES(RAD(0), RAD(-40), RAD(0)) * LEFTSHOULDERC0, 0.4 / Animation_Speed)
  1804. RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(85), RAD(0)) * ANGLES(RAD(-15), RAD(0), RAD(10)), 0.4 / Animation_Speed)
  1805. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(-10), RAD(0), RAD(80)), 0.4 / Animation_Speed)
  1806. end
  1807. for i = 1, 70 * Animation_Speed do
  1808. Swait()
  1809. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, -2.5 * Player_Size) * ANGLES(RAD(90), RAD(0), RAD(-180)), 0.3 / Animation_Speed)
  1810. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(0), RAD(0), RAD(-90)), 0.3 / Animation_Speed)
  1811. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(90), RAD(-10), RAD(90)) * RIGHTSHOULDERC0, 0.3 / Animation_Speed)
  1812. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-90), RAD(0), RAD(-90)) * LEFTSHOULDERC0, 0.3 / Animation_Speed)
  1813. RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -1 * Player_Size, 0.2 * Player_Size) * ANGLES(RAD(0), RAD(70), RAD(0)) * ANGLES(RAD(-10), RAD(0), RAD(0)), 0.3 / Animation_Speed)
  1814. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -1 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(-80), RAD(0)) * ANGLES(RAD(-10), RAD(0), RAD(0)), 0.3 / Animation_Speed)
  1815. end
  1816. for i = 0, 1, 0.2 / Animation_Speed do
  1817. Swait()
  1818. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, -1.5 * Player_Size) * ANGLES(RAD(20), RAD(0), RAD(100)), 0.4 / Animation_Speed)
  1819. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(0), RAD(0), RAD(-30)), 0.4 / Animation_Speed)
  1820. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(-20), RAD(-10), RAD(30)) * RIGHTSHOULDERC0, 0.4 / Animation_Speed)
  1821. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(80), RAD(0), RAD(20)) * LEFTSHOULDERC0, 0.4 / Animation_Speed)
  1822. RightHip.C0 = Clerp(RightHip.C0, CF(1 * Player_Size, -0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(60), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(70)), 0.4 / Animation_Speed)
  1823. LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 * Player_Size, -0.25 * Player_Size, -1 * Player_Size) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-10), RAD(0), RAD(20)), 0.4 / Animation_Speed)
  1824. end
  1825. DISABLEJUMPING = false
  1826. ATTACK = false
  1827. end
  1828.  
  1829. function EAbility()
  1830. ATTACK = true
  1831. ATTACK = false
  1832. end
  1833.  
  1834. function Attack1()
  1835. ATTACK = true
  1836. for i=0, 1, 0.1 / Animation_Speed do
  1837. Swait()
  1838. RootPart.CFrame=CFrame.new(RootPart.CFrame.p,Vector3.new(Mouse.Hit.p.X,RootPart.Position.Y,Mouse.Hit.p.Z)) * CFrame.new(0, 0, 0)
  1839. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(35)), 0.2 / Animation_Speed)
  1840. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(10), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1841. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(150), RAD(0), RAD(-20)) * RIGHTSHOULDERC0, 0.4 / Animation_Speed)
  1842. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.2 * Player_Size, 0.4 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(-25)) * LEFTSHOULDERC0, 0.4 / Animation_Speed)
  1843. 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(0)), 0.2 / Animation_Speed)
  1844. 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(0)), 0.2 / Animation_Speed)
  1845. if StaggerHit.Value == true or Stagger.Value == true or Stun.Value == true then
  1846. break
  1847. end
  1848. end
  1849. while true do
  1850. wait(0.01)
  1851. if HOLD == true then
  1852. shoot()
  1853. elseif HOLD == false then
  1854. break
  1855. end
  1856. end
  1857. ATTACK = false
  1858. end
  1859.  
  1860. function shoot()
  1861. ATTACK = true
  1862. for i=0, 1, 0.1 / Animation_Speed do
  1863. Swait()
  1864. RootPart.CFrame=CFrame.new(RootPart.CFrame.p,Vector3.new(Mouse.Hit.p.X,RootPart.Position.Y,Mouse.Hit.p.Z)) * CFrame.new(0, 0, 0)
  1865. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(35)), 0.2 / Animation_Speed)
  1866. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(10), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1867. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(90), RAD(0), RAD(30)) * RIGHTSHOULDERC0, 0.4 / Animation_Speed)
  1868. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.2 * Player_Size, 0.4 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(-25)) * LEFTSHOULDERC0, 0.4 / Animation_Speed)
  1869. 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(0)), 0.2 / Animation_Speed)
  1870. 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(0)), 0.2 / Animation_Speed)
  1871. if StaggerHit.Value == true or Stagger.Value == true or Stun.Value == true then
  1872. break
  1873. end
  1874. end
  1875. CreateSound("930650202", GunPoint, 1.2, MRANDOM(8, 9) / 10)
  1876. ShootFireball(GunPoint.CFrame.p, Mouse.hit.p, 15, 5, 100, 25, 45)
  1877. Disable_Jump = true
  1878. Humanoid.WalkSpeed = 0
  1879. for i = 1, 3 do
  1880. MagicBlock("White", "Neon", GunPoint.CFrame * ANGLES(RAD(MRANDOM(-50, 50)), RAD(MRANDOM(-50, 50)), RAD(MRANDOM(-50, 50))), ANGLES(0, 0, 0), VT(0, 0, 0), 3, 3, 3, 1, 1, 1, 0.1)
  1881. end
  1882. for i=0, 1, 0.1 / Animation_Speed do
  1883. Swait()
  1884. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(35)), 0.2 / Animation_Speed)
  1885. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(10), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1886. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(90), RAD(25), RAD(30)) * RIGHTSHOULDERC0, 0.4 / Animation_Speed)
  1887. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.2 * Player_Size, 0.4 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(15), RAD(-25)) * LEFTSHOULDERC0, 0.4 / Animation_Speed)
  1888. 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(0)), 0.2 / Animation_Speed)
  1889. 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(0)), 0.2 / Animation_Speed)
  1890. if StaggerHit.Value == true or Stagger.Value == true or Stun.Value == true then
  1891. break
  1892. end
  1893. end
  1894. Disable_Jump = false
  1895. Humanoid.WalkSpeed = 16
  1896. ATTACK = false
  1897. end
  1898.  
  1899. function PointBlank()
  1900. ATTACK = true
  1901. for i=0, 1, 0.1 / Animation_Speed do
  1902. Swait()
  1903. RootPart.CFrame=CFrame.new(RootPart.CFrame.p,Vector3.new(Mouse.Hit.p.X,RootPart.Position.Y,Mouse.Hit.p.Z)) * CFrame.new(0, 0, 0)
  1904. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(35)), 0.2 / Animation_Speed)
  1905. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(10), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1906. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(150), RAD(0), RAD(-20)) * RIGHTSHOULDERC0, 0.4 / Animation_Speed)
  1907. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.2 * Player_Size, 0.4 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(-25)) * LEFTSHOULDERC0, 0.4 / Animation_Speed)
  1908. 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(0)), 0.2 / Animation_Speed)
  1909. 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(0)), 0.2 / Animation_Speed)
  1910. if StaggerHit.Value == true or Stagger.Value == true or Stun.Value == true then
  1911. break
  1912. end
  1913. end
  1914. for i=0, 1, 0.1 / Animation_Speed/2 do
  1915. Swait()
  1916. RootPart.CFrame=CFrame.new(RootPart.CFrame.p,Vector3.new(Mouse.Hit.p.X,RootPart.Position.Y,Mouse.Hit.p.Z)) * CFrame.new(0, 0, 0)
  1917. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(35)), 0.2 / Animation_Speed)
  1918. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(10), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1919. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(90), RAD(0), RAD(30)) * RIGHTSHOULDERC0, 0.4 / Animation_Speed)
  1920. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.2 * Player_Size, 0.4 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(-25)) * LEFTSHOULDERC0, 0.4 / Animation_Speed)
  1921. 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(0)), 0.2 / Animation_Speed)
  1922. 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(0)), 0.2 / Animation_Speed)
  1923. if StaggerHit.Value == true or Stagger.Value == true or Stun.Value == true then
  1924. break
  1925. end
  1926. end
  1927. MagnitudeDamage(HITWEAPONSOUNDS[MRANDOM(1, #HITWEAPONSOUNDS)], HITARMORSOUNDS[MRANDOM(1, #HITARMORSOUNDS)], HITBLOCKSOUNDS[MRANDOM(1, #HITBLOCKSOUNDS)], HITPLAYERSOUNDS[MRANDOM(1, #HITPLAYERSOUNDS)], 1, 1, 1, 1, GunPoint, 12, false, 85, 135, MRANDOM(5, 10), "Normal", RootPart, 0.5, 1, MRANDOM(5, 10), nil, true, false, nil, 0, 0, false)
  1928. CreateSound("213603013", GunPoint, 5, MRANDOM(8, 9) / 10)
  1929. Disable_Jump = true
  1930. Humanoid.WalkSpeed = 0
  1931. for i = 1, 15 do
  1932. SIZE = MRANDOM(70,200)
  1933. MagicBlock("White", "Neon", GunPoint.CFrame * ANGLES(RAD(MRANDOM(-50, 50)), RAD(MRANDOM(-50, 50)), RAD(MRANDOM(-50, 50))), ANGLES(0, 0, 0), VT(0, 0, 0), SIZE, SIZE, SIZE, 1, 1, 1, 0.1)
  1934. end
  1935. for i=0, 1, 0.1 / Animation_Speed do
  1936. Swait()
  1937. RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0 * Player_Size, 0 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(0), RAD(35)), 0.2 / Animation_Speed)
  1938. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(10), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  1939. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size) * ANGLES(RAD(90), RAD(25), RAD(30)) * RIGHTSHOULDERC0, 0.4 / Animation_Speed)
  1940. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.2 * Player_Size, 0.4 * Player_Size, 0 * Player_Size) * ANGLES(RAD(0), RAD(15), RAD(-25)) * LEFTSHOULDERC0, 0.4 / Animation_Speed)
  1941. 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(0)), 0.2 / Animation_Speed)
  1942. 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(0)), 0.2 / Animation_Speed)
  1943. if StaggerHit.Value == true or Stagger.Value == true or Stun.Value == true then
  1944. break
  1945. end
  1946. end
  1947. Disable_Jump = false
  1948. Humanoid.WalkSpeed = 16
  1949. ATTACK = false
  1950. end
  1951.  
  1952. function ShootFireball(POSITION1, POSITION2, SPEED, SIZE, DURATION, LOWDAMAGE, HIGHDAMAGE)
  1953. local POS1 = POSITION1
  1954. local POS2 = POSITION2
  1955. local MOUSELOOK = CF((POS1 + POS2) / 2, POS2)
  1956. local FIREBALLSPEED = SPEED * Player_Size
  1957. local FIREBALLDURATION = DURATION
  1958. local FIREBALLCOLORS = {"White", "Pearl", "Magenta"}
  1959. local FIREBALLHITSOUNDS = {"522282998", "527535379", "304448425"}
  1960. coroutine.resume(coroutine.create(function()
  1961. repeat
  1962. Swait()
  1963. local FIREBALLHIT, FIREBALLPOS = Raycast(POS1, MOUSELOOK.lookVector, FIREBALLSPEED, Character)
  1964. POS1 = POS1 + (MOUSELOOK.lookVector * FIREBALLSPEED)
  1965. MagicBlock(FIREBALLCOLORS[MRANDOM(1, #FIREBALLCOLORS)], "Neon", CF(POS1) * ANGLES(RAD(MRANDOM(-50, 50)), RAD(MRANDOM(-50, 50)), RAD(MRANDOM(-50, 50))), ANGLES(0, 0, 0), VT(0, 0, 0), SIZE, SIZE, SIZE, SIZE / -10, SIZE / -10, SIZE / -10, 0.1)
  1966. if FIREBALLHIT ~= nil or FIREBALLDURATION <= 0.1 then
  1967. FIREBALLDURATION = 0
  1968. local FireballHitRefpart = CreatePart(3, Effects, "SmoothPlastic", 0, 1, "Really black", "Effect", VT())
  1969. FireballHitRefpart.Anchored = true
  1970. FireballHitRefpart.CFrame = CF(FIREBALLPOS)
  1971. game:GetService("Debris"):AddItem(FireballHitRefpart, 5)
  1972. CreateSound(FIREBALLHITSOUNDS[MRANDOM(1, #FIREBALLHITSOUNDS)], FireballHitRefpart, 1.4, MRANDOM(14, 16) / 10)
  1973. for i = 1, MRANDOM(4, 8) do
  1974. MagicBlock(FIREBALLCOLORS[MRANDOM(1, #FIREBALLCOLORS)], "Neon", FireballHitRefpart.CFrame * ANGLES(RAD(MRANDOM(-360, 360)), RAD(MRANDOM(-360, 360)), RAD(MRANDOM(-360, 360))), CF(0, MRANDOM(5, 7) / 10 * Player_Size, 0), VT(0, 0, 0), 5, 5, 5, 0, 0, 0, MRANDOM(3, 5) / 100)
  1975. end
  1976. MagicBlock("White", "Neon", FireballHitRefpart.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), SIZE, SIZE, SIZE, SIZE / 3, SIZE / 3, SIZE / 3, 0.05)
  1977. MagicSphere("Magenta", "Neon", FireballHitRefpart.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), SIZE * 0.5, SIZE * 0.5, SIZE * 0.5, SIZE / 4, SIZE / 4, SIZE / 4, 0.05)
  1978. MagicBlock("White", "Neon", FireballHitRefpart.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), SIZE * 0.25, SIZE * 0.25, SIZE * 0.25, SIZE / 5, SIZE / 5, SIZE / 5, 0.05)
  1979. MagnitudeDamage("", "", "", "", 1, 1, 1, 1, FireballHitRefpart, SIZE / 2, false, LOWDAMAGE, HIGHDAMAGE, 0, "Normal", RootPart, 0, 1, MRANDOM(10, 15), nil, false, true, nil, 0, 0, false)
  1980. else
  1981. FIREBALLDURATION = FIREBALLDURATION - (1 / 30) / Animation_Speed
  1982. end
  1983. until FIREBALLHIT ~= nil or FIREBALLDURATION <= 0
  1984. end))
  1985. end
  1986.  
  1987.  
  1988. --//=================================\\
  1989. --\\=================================//
  1990.  
  1991.  
  1992.  
  1993.  
  1994.  
  1995. --//=================================\\
  1996. --|| SET THINGS UP
  1997. --\\=================================//
  1998.  
  1999. if Start_Equipped == true then
  2000. ATTACK = true
  2001. EQUIPPED = true
  2002. if Disable_Animate == true then
  2003. ANIMATE.Parent = nil
  2004. local IDLEANIMATION = Humanoid:LoadAnimation(ROBLOXIDLEANIMATION)
  2005. IDLEANIMATION:Play()
  2006. end
  2007. if Disable_Animator == true then
  2008. ANIMATOR.Parent = nil
  2009. end
  2010. if Disable_Moving_Arms == true then
  2011. RSH = Torso["Right Shoulder"]
  2012. LSH = Torso["Left Shoulder"]
  2013. RSH.Parent = nil
  2014. LSH.Parent = nil
  2015. if Use_Motors_Instead_Of_Welds == true then
  2016. RightShoulder = IT("Motor")
  2017. LeftShoulder = IT("Motor")
  2018. else
  2019. RightShoulder = IT("Weld")
  2020. LeftShoulder = IT("Weld")
  2021. end
  2022. RightShoulder.Name = "Right Shoulder"
  2023. RightShoulder.Part0 = Torso
  2024. RightShoulder.C0 = CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size)
  2025. RightShoulder.C1 = CF(0 * Player_Size, 0.5 * Player_Size, 0 * Player_Size)
  2026. RightShoulder.Part1 = Character["Right Arm"]
  2027. RightShoulder.Parent = Torso
  2028. LeftShoulder.Name = "Left Shoulder"
  2029. LeftShoulder.Part0 = Torso
  2030. LeftShoulder.C0=CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size)
  2031. LeftShoulder.C1=CF(0 * Player_Size, 0.5 * Player_Size, 0 * Player_Size)
  2032. LeftShoulder.Part1 = Character["Left Arm"]
  2033. LeftShoulder.Parent = Torso
  2034. RIGHTSHOULDERC0 = CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0))
  2035. LEFTSHOULDERC0 = CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0))
  2036. end
  2037. if Start_Equipped_With_Equipped_Animation == true then
  2038. Swait()
  2039. end
  2040. ATTACK = false
  2041. end
  2042.  
  2043. --//=================================\\
  2044. --\\=================================//
  2045.  
  2046.  
  2047.  
  2048.  
  2049.  
  2050. --//=================================\\
  2051. --|| ASSIGN THINGS TO KEYS
  2052. --\\=================================//
  2053.  
  2054. Humanoid.Changed:connect(function(Jump)
  2055. if Jump == "Jump" and (Disable_Jump == true or DISABLEJUMPING == true) then
  2056. Humanoid.Jump = false
  2057. end
  2058. end)
  2059.  
  2060. function MouseDown(Mouse)
  2061. if ATTACK == true or EQUIPPED == false then
  2062. return
  2063. end
  2064. HOLD = true
  2065. Attack1()
  2066. coroutine.resume(coroutine.create(function()
  2067. for i=1, 50 do
  2068. if ATTACK == false then
  2069. Swait()
  2070. end
  2071. end
  2072. if ATTACK == false then
  2073. COMBO = 1
  2074. end
  2075. end))
  2076. end
  2077.  
  2078. function MouseUp(Mouse)
  2079. HOLD = false
  2080. end
  2081.  
  2082. function KeyDown(Key)
  2083. if Key == "f" and Can_Equip_Or_Unequip == true and ATTACK == false then
  2084. ATTACK = true
  2085. COMBO = 1
  2086. if EQUIPPED == false then
  2087. EQUIPPED = true
  2088. if Disable_Animate == true then
  2089. ANIMATE.Parent = nil
  2090. local IDLEANIMATION = Humanoid:LoadAnimation(ROBLOXIDLEANIMATION)
  2091. IDLEANIMATION:Play()
  2092. end
  2093. if Disable_Animator == true then
  2094. ANIMATOR.Parent = nil
  2095. end
  2096. if Disable_Moving_Arms == true then
  2097. RSH = Torso["Right Shoulder"]
  2098. LSH = Torso["Left Shoulder"]
  2099. RSH.Parent = nil
  2100. LSH.Parent = nil
  2101. if Use_Motors_Instead_Of_Welds == true then
  2102. RightShoulder = IT("Motor")
  2103. LeftShoulder = IT("Motor")
  2104. else
  2105. RightShoulder = IT("Weld")
  2106. LeftShoulder = IT("Weld")
  2107. end
  2108. RightShoulder.Name = "Right Shoulder"
  2109. RightShoulder.Part0 = Torso
  2110. RightShoulder.C0 = CF(1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size)
  2111. RightShoulder.C1 = CF(0 * Player_Size, 0.5 * Player_Size, 0 * Player_Size)
  2112. RightShoulder.Part1 = Character["Right Arm"]
  2113. RightShoulder.Parent = Torso
  2114. LeftShoulder.Name = "Left Shoulder"
  2115. LeftShoulder.Part0 = Torso
  2116. LeftShoulder.C0=CF(-1.5 * Player_Size, 0.5 * Player_Size, 0 * Player_Size)
  2117. LeftShoulder.C1=CF(0 * Player_Size, 0.5 * Player_Size, 0 * Player_Size)
  2118. LeftShoulder.Part1 = Character["Left Arm"]
  2119. LeftShoulder.Parent = Torso
  2120. RIGHTSHOULDERC0 = CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0))
  2121. LEFTSHOULDERC0 = CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0))
  2122. end
  2123. Swait()
  2124. elseif EQUIPPED == true then
  2125. end
  2126. ATTACK = false
  2127. end
  2128. if Key == "e" and EQUIPPED == true and ATTACK == false then
  2129. PointBlank()
  2130. end
  2131. end
  2132.  
  2133. function KeyUp(Key)
  2134. end
  2135.  
  2136. if Use_HopperBin == false then
  2137.  
  2138. Mouse.Button1Down:connect(function(NEWKEY)
  2139. MouseDown(NEWKEY)
  2140. end)
  2141. Mouse.Button1Up:connect(function(NEWKEY)
  2142. MouseUp(NEWKEY)
  2143. end)
  2144. Mouse.KeyDown:connect(function(NEWKEY)
  2145. KeyDown(NEWKEY)
  2146. end)
  2147. Mouse.KeyUp:connect(function(NEWKEY)
  2148. KeyUp(NEWKEY)
  2149. end)
  2150.  
  2151. elseif Use_HopperBin == true then
  2152. WEAPONTOOL.Parent = Backpack
  2153. script.Parent = WEAPONTOOL
  2154. function SelectTool(Mouse)
  2155. Mouse.Button1Down:connect(function()
  2156. MouseDown(Mouse)
  2157. end)
  2158. Mouse.Button1Up:connect(function()
  2159. MouseUp(Mouse)
  2160. end)
  2161. Mouse.KeyDown:connect(KeyDown)
  2162. Mouse.KeyUp:connect(KeyUp)
  2163. end
  2164. function DeselectTool(Mouse)
  2165. end
  2166. WEAPONTOOL.Selected:connect(SelectTool)
  2167. WEAPONTOOL.Deselected:connect(DeselectTool)
  2168. end
  2169.  
  2170. --//=================================\\
  2171. --\\=================================//
  2172.  
  2173.  
  2174.  
  2175.  
  2176.  
  2177. --//=================================\\
  2178. --|| WRAP THE WHOLE SCRIPT UP
  2179. --\\=================================//
  2180.  
  2181. while true do
  2182. Swait()
  2183. if Enable_Gui == true then
  2184. UpdateGUI()
  2185. end
  2186. UpdateSkillsAndStuff()
  2187. if Walkspeed_Depends_On_Movement_Value == true then
  2188. if Movement.Value < 0 or StaggerHit.Value == true or Stagger.Value == true or Stun.Value == true or Rooted.Value == true then
  2189. Humanoid.WalkSpeed = 0
  2190. else
  2191. Humanoid.WalkSpeed = 16 * Movement.Value * Player_Size
  2192. end
  2193. end
  2194. if Enable_Stun == true and StunValue.Value >= Max_Stun then
  2195. StunValue.Value = 0
  2196. Stun.Value = true
  2197. end
  2198. if Enable_Stagger_Hit == true then
  2199. if StaggerHit.Value == true and STAGGERHITANIM == false then
  2200. coroutine.resume(coroutine.create(function()
  2201. STAGGERHITANIM = true
  2202. while ATTACK == true do
  2203. Swait()
  2204. end
  2205. StaggerHitAnimation()
  2206. StaggerHit.Value = false
  2207. STAGGERHITANIM = false
  2208. end))
  2209. end
  2210. else
  2211. StaggerHit.Value = false
  2212. end
  2213. if Enable_Stagger == true then
  2214. if Stagger.Value == true and STAGGERANIM == false then
  2215. coroutine.resume(coroutine.create(function()
  2216. STAGGERANIM = true
  2217. while ATTACK == true do
  2218. Swait()
  2219. end
  2220. StaggerAnimation()
  2221. Stagger.Value = false
  2222. STAGGERANIM = false
  2223. end))
  2224. end
  2225. else
  2226. Stagger.Value = false
  2227. end
  2228. if Enable_Stun == true then
  2229. if Stun.Value == true and STUNANIM == false then
  2230. coroutine.resume(coroutine.create(function()
  2231. StunValue.Value = 0
  2232. STUNANIM = true
  2233. while ATTACK == true do
  2234. Swait()
  2235. end
  2236. StunAnimation()
  2237. Stun.Value = false
  2238. STUNANIM = false
  2239. end))
  2240. end
  2241. else
  2242. StunValue.Value = 0
  2243. Stun.Value = false
  2244. end
  2245. if DONUMBER >= .5 then
  2246. HANDIDLE = true
  2247. elseif DONUMBER <= 0 then
  2248. HANDIDLE = false
  2249. end
  2250. if HANDIDLE == false then
  2251. DONUMBER = DONUMBER + 0.003 / Animation_Speed
  2252. else
  2253. DONUMBER = DONUMBER - 0.003 / Animation_Speed
  2254. end
  2255. if ATTACK == false then
  2256. IDLENUMBER = IDLENUMBER + 1
  2257. else
  2258. IDLENUMBER = 0
  2259. end
  2260. if Enable_Stats == true then
  2261. for _, v in pairs (ChangeStat:GetChildren()) do
  2262. if v:FindFirstChild("Duration") ~= nil then
  2263. v:FindFirstChild("Duration").Value = v:FindFirstChild("Duration").Value - (1 / 30) / Animation_Speed
  2264. if v:FindFirstChild("Duration").Value <= 0 then
  2265. v.Parent = nil
  2266. end
  2267. end
  2268. if v.Name == "ChangeDefense" then
  2269. CHANGEDEFENSE = CHANGEDEFENSE + v.Value
  2270. elseif v.Name == "ChangeDamage" then
  2271. CHANGEDAMAGE = CHANGEDAMAGE + v.Value
  2272. elseif v.Name == "ChangeMovement" then
  2273. CHANGEMOVEMENT = CHANGEMOVEMENT + v.Value
  2274. end
  2275. end
  2276. Defense.Value = 1 + (CHANGEDEFENSE)
  2277. if Defense.Value <= 0.01 then
  2278. Defense.Value = 0.01
  2279. end
  2280. Damage.Value = 1 + (CHANGEDAMAGE)
  2281. if Damage.Value <= 0 then
  2282. Damage.Value = 0
  2283. end
  2284. Movement.Value = 1 + (CHANGEMOVEMENT)
  2285. if Movement.Value <= 0 then
  2286. Movement.Value = 0
  2287. end
  2288. CHANGEDEFENSE = 0
  2289. CHANGEDAMAGE = 0
  2290. CHANGEMOVEMENT = 0
  2291. end
  2292. SINE = SINE + CHANGE
  2293. local TORSOVELOCITY = (RootPart.Velocity * VT(1, 0, 1)).magnitude
  2294. local TORSOVERTICALVELOCITY = RootPart.Velocity.y
  2295. local LV = Torso.CFrame:pointToObjectSpace(Torso.Velocity - Torso.Position)
  2296. local HITFLOOR = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4 * Player_Size, Character)
  2297. local WALKSPEEDVALUE = 6 / (Humanoid.WalkSpeed / 16)
  2298. if ANIM == "Walk" and EQUIPPED == true and TORSOVELOCITY > 1 then
  2299. 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)
  2300. 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)
  2301. 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)
  2302. 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)
  2303. elseif (ANIM ~= "Walk" and EQUIPPED == true) or (TORSOVELOCITY < 1) then
  2304. RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  2305. 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)
  2306. 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)
  2307. 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)
  2308. end
  2309. if TORSOVERTICALVELOCITY > 1 and HITFLOOR == nil then
  2310. ANIM = "Jump"
  2311. if EQUIPPED == true and ATTACK == false then
  2312. 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)
  2313. 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)
  2314. 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)
  2315. 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)
  2316. 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)
  2317. 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)
  2318. end
  2319. elseif TORSOVERTICALVELOCITY < -1 and HITFLOOR == nil then
  2320. ANIM = "Fall"
  2321. if EQUIPPED == true and ATTACK == false then
  2322. 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)
  2323. 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)
  2324. 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)
  2325. 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)
  2326. 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)
  2327. 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)
  2328. end
  2329. elseif TORSOVELOCITY < 1 and HITFLOOR ~= nil then
  2330. ANIM = "Idle"
  2331. if EQUIPPED == true and ATTACK == false then
  2332. 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)
  2333. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(10), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  2334. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(0.45 * 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)
  2335. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1 * Player_Size, 0.2 * Player_Size, -0.5 * Player_Size) * ANGLES(RAD(25), RAD(0), RAD(55)) * LEFTSHOULDERC0, 0.4 / Animation_Speed)
  2336. 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(0)), 0.2 / Animation_Speed)
  2337. 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(0)), 0.2 / Animation_Speed)
  2338. end
  2339. elseif TORSOVELOCITY > 1 and HITFLOOR ~= nil then
  2340. ANIM = "Walk"
  2341. WALK = WALK + 1 / Animation_Speed
  2342. if WALK >= 15 - (5 * (Humanoid.WalkSpeed / 16 / Player_Size)) then
  2343. WALK = 0
  2344. if WALKINGANIM == true then
  2345. WALKINGANIM = false
  2346. elseif WALKINGANIM == false then
  2347. WALKINGANIM = true
  2348. end
  2349. end
  2350. if EQUIPPED == true and ATTACK == false then
  2351. 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)
  2352. Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0 * Player_Size, 0 * Player_Size, 0 + ((1 * Player_Size) - 1)) * ANGLES(RAD(10), RAD(0), RAD(0)), 0.2 / Animation_Speed)
  2353. RightShoulder.C0 = Clerp(RightShoulder.C0, CF(0.45 * 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)
  2354. LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1 * Player_Size, 0.2 * Player_Size, -0.5 * Player_Size) * ANGLES(RAD(25), RAD(0), RAD(55)) * LEFTSHOULDERC0, 0.4 / Animation_Speed)
  2355. 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(0)), 0.2 / Animation_Speed)
  2356. 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(0)), 0.2 / Animation_Speed)
  2357. end
  2358. end
  2359.  
  2360. end
  2361.  
  2362. --//=================================\\
  2363. --\\=================================//
  2364.  
  2365.  
  2366.  
  2367.  
  2368.  
  2369. --//====================================================\\--
  2370. --|| END OF SCRIPT
  2371. --\\====================================================//--
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement