SHARE
TWEET

Untitled

a guest Jan 21st, 2020 91 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.   local MovesGui=Instance.new("ScreenGui",game:service'Players'.LocalPlayer:FindFirstChildOfClass("PlayerGui"))
  2.     local Frm=Instance.new("Frame",MovesGui)Frm.BackgroundColor3=Color3.new()Frm.BorderSizePixel=0
  3.     Frm.BackgroundTransparency=.5 Frm.Size=UDim2.new(.3,0,.5,0)local Show=true Frm.Position=UDim2.new(.7,0,.5,0)
  4.     local normal=Instance.new("TextLabel",Frm)normal.Size=UDim2.new(1,0,1,0)normal.TextStrokeTransparency=0
  5.     normal.BackgroundTransparency=1 normal.TextColor3=Color3.new(1,1,1)
  6.     normal.TextXAlignment="Left"normal.TextYAlignment="Top"
  7.     normal.Text=[[
  8. -----------
  9. *Q   : Normal Gaster Blaster
  10. *E   : Double Gaster Blaster
  11. *R   : Big Gaster Blaster
  12. *X   : Transformation
  13. *T   : Teleport
  14. *F   : Stun Gaster Blaster
  15.  
  16. Created by Nebula_Zorua
  17. Edited by 1x1x1x1IAMbck
  18.  
  19. ]]
  20.  
  21. -- Name tag
  22. Player = game.Players.LocalPlayer
  23.     Character = Player.Character
  24.     local txt = Instance.new("BillboardGui", Character)
  25.     txt.Adornee = Character.Head
  26.     txt.Name = "_status"
  27.     txt.Size = UDim2.new(2, 0, 1.2, 0)
  28.     txt.StudsOffset = Vector3.new(-9, 8, 0)
  29.     local text = Instance.new("TextLabel", txt)
  30.     text.Size = UDim2.new(10, 0, 7, 0)
  31.     text.FontSize = "Size24"
  32.     text.TextScaled = true
  33.     text.TextTransparency = 0
  34.     text.BackgroundTransparency = 1
  35.     text.TextTransparency = 0
  36.     text.TextStrokeTransparency = 0
  37.     text.Font = "Antique"
  38.     text.TextStrokeColor3 = Color3.new(170,0,0)
  39.         text.Text = "UF!Sans"
  40.  
  41.  
  42.  
  43. -- Music
  44. hate = Instance.new("Sound",game.Workspace)
  45. hate.SoundId = "rbxassetid://183142252"hate.MaxDistance = 10000
  46. hate.Volume = 4
  47. hate:play() hate.Name = "BIG BLACK" hate.Looped = true
  48.  
  49.  
  50. --Hood--
  51. local Hood = Instance.new("Part", char)
  52. Hood.Name = "Hood"
  53. Hood.CanCollide = false
  54. Hood.BrickColor = BrickColor.new("Institutional white")
  55. Hood.Transparency = 0
  56. Hood.Material = "Plastic"
  57. Hood.Size = Vector3.new(1, 1, 2)
  58. Hood.TopSurface = Enum.SurfaceType.Smooth
  59. Hood.BottomSurface = Enum.SurfaceType.Smooth
  60.  
  61. local Weld = Instance.new("Weld", Hood)
  62. Weld.Part0 = tors
  63. Weld.Part1 = Hood
  64. Weld.C1 = CFrame.new(0, .4, -.9)
  65. Weld.C0 = CFrame.Angles(math.rad(-0),math.rad(0),math.rad(180))
  66.  
  67.  
  68. --teleport
  69. wait(1)
  70. player = game.Players.LocalPlayer
  71. torso = player.Character:WaitForChild("Torso")
  72. mouse = player:GetMouse()
  73.  
  74. mouse.KeyDown:connect(function(key)
  75.     if key == "t" then
  76.         dist = (torso.Position - mouse.Hit.p).magnitude
  77.         if dist <= 10000 then
  78.             torso.CFrame = CFrame.new(mouse.Hit.p) + Vector3.new(0,3,0)
  79.         end
  80.     end
  81. end)
  82.  
  83. --main
  84. wait(1)
  85. plr = game.Players.LocalPlayer
  86. char = plr.Character
  87. mouse = plr:GetMouse()
  88. whitecolor = Color3.new(1,1,1)
  89. epicmode = false
  90. normal = true
  91. for i,v in pairs(char:GetChildren()) do
  92.    if v.ClassName == "Shirt" or v.ClassName == "Pants" or v.ClassName == "ShirtGraphic" then
  93.       v:Destroy()
  94.      end
  95. end
  96. local shirt = Instance.new("Shirt",char)
  97. shirt.ShirtTemplate = "http://www.roblox.com/asset/?id=1145883171"
  98. local pants = Instance.new("Pants",char)
  99. pants.PantsTemplate = "http://www.roblox.com/asset/?id=454688894"
  100. local bdycolors = char["Body Colors"]
  101. bdycolors.HeadColor3 = whitecolor
  102. bdycolors.LeftArmColor3 = whitecolor
  103. bdycolors.LeftLegColor3 = whitecolor
  104. bdycolors.RightArmColor3 = whitecolor
  105. bdycolors.RightLegColor3 = whitecolor
  106. bdycolors.TorsoColor3 = whitecolor
  107. for i,v in pairs(char:GetChildren()) do
  108.     if v.ClassName == "Hat" or v.ClassName == "Accessory" then
  109.         v:Destroy()
  110.     end
  111. end
  112.  
  113.  
  114.  
  115. -- Chat
  116. local talksound = Instance.new("Sound",char.Torso)
  117. talksound.SoundId = "rbxassetid://928210219"
  118. talksound.Volume = 4
  119. local blastsound = Instance.new("Sound",char.Torso)
  120. blastsound.Name = "blast_sound"
  121. blastsound.SoundId = "rbxassetid://345052019"
  122. blastsound.Volume = 4
  123. function swait(num)
  124. if num==0 or num==nil then
  125. game:service'RunService'.Stepped:wait(0)
  126. else
  127. for i=0,num do
  128. game:service'RunService'.Stepped:wait(0)
  129. end
  130. end
  131. end
  132.  
  133. function chatfunc(text)
  134. local chat = coroutine.wrap(function()
  135. if char:FindFirstChild("TalkingBillBoard") ~= nil then
  136. char:FindFirstChild("TalkingBillBoard"):Destroy()
  137. end
  138. local naeeym2 = Instance.new("BillboardGui",char)
  139. naeeym2.Size = UDim2.new(0,100,0,40)
  140. naeeym2.StudsOffset = Vector3.new(0,3,0)
  141. naeeym2.Adornee = char.Head
  142. naeeym2.Name = "TalkingBillBoard"
  143. local tecks2 = Instance.new("TextLabel",naeeym2)
  144. tecks2.BackgroundTransparency = 1
  145. tecks2.BorderSizePixel = 0
  146. tecks2.Text = ""
  147. tecks2.Font = "Fantasy"
  148. tecks2.TextSize = 50
  149. tecks2.TextStrokeTransparency = 0
  150. tecks2.TextColor3 = Color3.new(.6,0,0)
  151. tecks2.TextStrokeColor3 = Color3.new(0,0,0)
  152. tecks2.Size = UDim2.new(1,0,0.5,0)
  153. local tecks3 = Instance.new("TextLabel",naeeym2)
  154. tecks3.BackgroundTransparency = 1
  155. tecks3.BorderSizePixel = 0
  156. tecks3.Text = ""
  157. tecks3.Font = "Fantasy"
  158. tecks3.TextSize = 50
  159. tecks3.TextStrokeTransparency = 0
  160. tecks3.TextColor3 = Color3.new(1,1,1)
  161. tecks3.TextStrokeColor3 = Color3.new(200,0,0)
  162. tecks3.Size = UDim2.new(1,0,0.5,0)
  163. for i = 1,string.len(text),1 do
  164. tecks2.Text = string.sub(text,1,i)
  165. tecks3.Text = string.sub(text,1,i)
  166. talksound:Play()
  167. wait(0.01)
  168. end
  169. wait(2)
  170. for i = 1, 50 do
  171. swait()
  172. tecks2.Position = tecks2.Position - UDim2.new(math.random(-.4,.4),math.random(-5,5),.05,math.random(-5,5))
  173. tecks2.Rotation = tecks2.Rotation - .8
  174. tecks2.TextStrokeTransparency = tecks2.TextStrokeTransparency +.04
  175. tecks2.TextTransparency = tecks2.TextTransparency + .04
  176. tecks3.Position = tecks2.Position - UDim2.new(math.random(-.4,.4),math.random(-5,5),.05,math.random(-5,5))
  177. tecks3.Rotation = tecks2.Rotation + .8
  178. tecks3.TextStrokeTransparency = tecks2.TextStrokeTransparency +.04
  179. tecks3.TextTransparency = tecks2.TextTransparency + .04
  180. end
  181. naeeym2:Destroy()
  182. end)
  183. chat()
  184. end
  185. function onChatted(msg)
  186. chatfunc(msg)
  187. end
  188. plr.Chatted:connect(onChatted)
  189. chatfunc("Hmm?")
  190. wait(1)
  191. chatfunc("Who is there?")
  192. wait(1.2)
  193. chatfunc("Maybe it is my friend?")
  194. wait(2)
  195. chatfunc("Brother killer?!")
  196. wait(0.5)
  197. char.Humanoid.Name = "Sans"
  198. local music = Instance.new("Sound",char.Torso)
  199. music.SoundId = "rbxassetid://0"
  200. music.Volume = 4
  201. music.Looped = true
  202. music:Play()
  203. LeyeColor = BrickColor.new("Really red")
  204. local eyemodel = Instance.new("Model",char)
  205. eyemodel.Name = "Eyes"
  206. local reye = Instance.new("Part",eyemodel)
  207. reye.Name = "BurningEff"
  208. reye.Color = Color3.new(1,1,1)
  209. reye.Material = "Neon"
  210. reye.Transparency = 1
  211. local reyemesh = Instance.new("SpecialMesh",reye)
  212. reyemesh.MeshType = "Sphere"
  213. reye.Size = Vector3.new(0.12, 0.37, 0.27)
  214. local reyeweld = Instance.new("Weld",reye)
  215. reyeweld.Part0 = reye
  216. reyeweld.Part1 = char.Head
  217. reyeweld.C0 = CFrame.new(-0.551300049, -0.19681406, -0.198293686, 0, 0, -1, 0, 1, 0, 1, 0, 0)
  218. local leye = Instance.new("Part",eyemodel)
  219. leye.Name = "LeftEye"
  220. leye.BrickColor = LeyeColor
  221. leye.Material = "Neon"
  222. leye.Size = Vector3.new(0.2,0.2,0.2)
  223. local leyemesh = Instance.new("SpecialMesh",leye)
  224. leyemesh.MeshType = "Sphere"
  225. leyemesh.Scale = Vector3.new(0.7,1.1,0.7)
  226. local leyeweld = Instance.new("Weld",leye)
  227. leyeweld.Part0 = leye
  228. leyeweld.Part1 = char.Head
  229. leyeweld.C0 = CFrame.new(-0.109999999, -0.25, 0.550000012, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  230. local leyeclone = leye:Clone()
  231. leyeclone.Transparency = 1
  232. leyeclone.Name = "RightEye"
  233. leyeclone.Parent = eyemodel
  234. for i,v in pairs(leyeclone:GetChildren()) do
  235.     if v.ClassName == "Weld" then
  236.         v:Destroy()
  237.     end
  238. end
  239. local leyeweld2 = Instance.new("Weld",leyeclone)
  240. leyeweld2.Part0 = leyeclone
  241. leyeweld2.Part1 = char.Head
  242. leyeweld2.C0 = CFrame.new(0.0864697844, -0.25, 0.550000012, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  243. local fire = Instance.new("Fire",reye)
  244. fire.Heat = 25000
  245. fire.Color = leye.BrickColor.Color
  246. fire.Size = 2
  247. -- welds xd
  248. local rhandclone = game.Players.LocalPlayer.Character.Torso["Right Shoulder"]:Clone()
  249. local rhandweld = Instance.new("Weld", game.Players.LocalPlayer.Character.Torso)
  250. rhandweld.Part0 = game.Players.LocalPlayer.Character.Torso
  251. rhandweld.Part1 = game.Players.LocalPlayer.Character["Right Arm"]
  252. rhandweld.C0 = CFrame.new(1.5, 0, 0, 1, -1.6395192e-43, 0, -1.6395192e-43, 1, 0, 0, 0, 1)
  253. local lhandclone = game.Players.LocalPlayer.Character.Torso["Left Shoulder"]:Clone()
  254. local lhandweld = Instance.new("Weld", game.Players.LocalPlayer.Character.Torso)
  255. lhandweld.Part0 = game.Players.LocalPlayer.Character.Torso
  256. lhandweld.Part1 = game.Players.LocalPlayer.Character["Left Arm"]
  257. lhandweld.C0 = CFrame.new(-1.5, 0, 0, 1, -1.6395192e-43, 0, -1.6395192e-43, 1, 0, 0, 0, 1)
  258. for i = 0,1 ,0.03 do
  259.     lhandweld.C0 = lhandweld.C0:lerp(CFrame.new(-0.925931931, -0.0977840424, 0.974765539, 0.886040092, -0.463608712, -1.69641942e-06, 0.405292064, 0.774584651, 0.485548228, -0.225103036, -0.430215806, 0.87421),i)
  260.     rhandweld.C0 = rhandweld.C0:lerp(CFrame.new(0.881086826, -0.201818228, 0.747067213, 0.882895231, 0.4695701, 1.00883415e-06, -0.397803098, 0.747956276, 0.531332433, 0.249497056, -0.469111204, 0.847163498),i)
  261.     game:GetService("RunService").RenderStepped:wait()
  262. end
  263. local slapsound = Instance.new("Sound",char.Torso)
  264. slapsound.SoundId = "rbxassetid://511340819"
  265. slapsound.Volume = 4
  266. -- Funcs
  267. function Blast(AAA)
  268.     if AAA == "f" then
  269.         local chatmath = math.random(1,3)
  270.         if chatmath == 1 then
  271.             chatfunc("Gaster Blaster!")
  272.         end
  273.         if chatmath == 2 then
  274.             chatfunc("This is what you get for killing everybody.")
  275.         end
  276.         if chatmath == 3 then
  277.             chatfunc("Look, I gave up trying to go back a long time ago.")
  278.         end
  279.         local gasterblaster = Instance.new("Part",char.Torso)
  280.         gasterblaster.Size = Vector3.new(7, 16, 4)
  281.         gasterblaster.CanCollide = false
  282.         local gasterblastermesh = Instance.new("FileMesh",gasterblaster)
  283.         gasterblastermesh.MeshId = "rbxassetid://431908407"
  284.         gasterblastermesh.Scale = Vector3.new(0.05,0.05,0.05)
  285.         local gasterblastertexture = Instance.new("Decal",gasterblaster)
  286.         gasterblastertexture.Face = "Back"
  287.         gasterblastertexture.Texture = "http://www.roblox.com/asset/?id=441975828"
  288.         local weeld = Instance.new("Weld",gasterblaster)
  289.         weeld.Part0 = gasterblaster
  290.         weeld.Part1 = char.Torso
  291.         weeld.C0 = CFrame.new(3.71674585, -11.54426, -0.129204988, -0.999741375, 0, 0.0227420069, 0, 1, 0, -0.0227420069, 0, -0.999741375)
  292.         blastsound:Play()
  293.         char.Head.Anchored = true
  294.         wait(1)
  295.         local blast = Instance.new("Part",gasterblaster)
  296.         blast.Size = Vector3.new(18.07, 16.36, 73.54)
  297.         blast.Transparency = 0.7
  298.         blast.Material = "Neon"
  299.         blast.Color = Color3.new(1,1,1)
  300.         blast.CanCollide = true
  301.         local blastweld = Instance.new("Weld",blast)
  302.         blastweld.Part0 = blast
  303.         blastweld.Part1 = gasterblaster
  304.         blastweld.C0 = CFrame.new(-0.430000305, 1.73999977, -40.1399994, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  305.         blast.Touched:connect(function(part)
  306.             part.Parent:FindFirstChildOfClass("Humanoid"):Destroy() -- Makes them not able to move
  307.         end)
  308.         wait(2)
  309.         char.Head.Anchored = false
  310.         blast:Destroy()
  311.         gasterblaster:Destroy()
  312.     end
  313. end
  314. mouse.KeyDown:connect(Blast)
  315.  
  316.  
  317. function Death()
  318.     music:Stop()
  319.     local deadsound = Instance.new("Sound",char.Torso)
  320.     deadsound.SoundId = "rbxassetid://427025525"
  321.     deadsound.Volume = 4
  322.     deadsound:Play()
  323.     for i,v in pairs(char:GetChildren()) do
  324.         if v.ClassName == "Part" then
  325.             v.Transparency = 1
  326.         end
  327.         leye.Transparency = 1
  328.         fire:Destroy()
  329.         char.Head.face.Transparency = 1
  330.     end
  331. end
  332. char.Sans.Died:connect(Death)
  333.  
  334.  
  335. function Transform(key)
  336.     if key == "x" then
  337.         music.SoundId = "rbxassetid://0"
  338.         music:Stop()
  339.         music:Play()
  340.         chatfunc("Hehe, forgetting something?")
  341.         leyeclone.Transparency = 0
  342.         local fire2 = Instance.new("Fire",leyeclone)
  343.         fire2.Heat = 25000
  344.         fire2.Color = leye.BrickColor.Color
  345.         fire2.Size = 2
  346.     end
  347. end
  348. mouse.KeyDown:connect(Transform)
  349.  
  350.  
  351.  
  352.  
  353. --// Shortcut Variables \\--
  354. local S = setmetatable({},{__index = function(s,i) return game:service(i) end})
  355. local CF = {N=CFrame.new,A=CFrame.Angles,fEA=CFrame.fromEulerAnglesXYZ}
  356. local C3 = {N=Color3.new,RGB=Color3.fromRGB,HSV=Color3.fromHSV,tHSV=Color3.toHSV}
  357. local V3 = {N=Vector3.new,FNI=Vector3.FromNormalId,A=Vector3.FromAxis}
  358. local M = {C=math.cos,R=math.rad,S=math.sin,P=math.pi,RNG=math.random,MRS=math.randomseed,H=math.huge,RRNG = function(min,max,div) return math.rad(math.random(min,max)/(div or 1)) end}
  359. local R3 = {N=Region3.new}
  360. local De = S.Debris
  361. local WS = workspace
  362. local Lght = S.Lighting
  363. local RepS = S.ReplicatedStorage
  364. local IN = Instance.new
  365. local Plrs = S.Players
  366.  
  367. local Emit = IN("ParticleEmitter").Emit;
  368.  
  369. --// Initializing \\--
  370. local Plr = Plrs.LocalPlayer
  371. local Char = Plr.Character
  372. local Hum = Char:FindFirstChildOfClass'Humanoid'
  373. local RArm = Char["Right Arm"]
  374. local LArm = Char["Left Arm"]
  375. local RLeg = Char["Right Leg"]
  376. local LLeg = Char["Left Leg"]  
  377. local Root = Char:FindFirstChild'HumanoidRootPart'
  378. local Torso = Char.Torso
  379. local Head = Char.Head
  380. local NeutralAnims = true
  381. local Attack = false
  382. local Debounces = {Debounces={}}
  383. local Mouse = Plr:GetMouse()
  384. local Hit = {}
  385. local Sine = 0
  386. local Change = 1
  387.  
  388. local Effects = IN("Folder",Char)
  389. Effects.Name = "Effects"
  390.  
  391.  
  392.  
  393. --// Music \\--
  394.  
  395.  
  396.  
  397. --// Debounce System \\--
  398.  
  399.  
  400. function Debounces:New(name,cooldown)
  401.     local aaaaa = {Usable=true,Cooldown=cooldown or 2,CoolingDown=false,LastUse=0}
  402.     setmetatable(aaaaa,{__index = Debounces})
  403.     Debounces.Debounces[name] = aaaaa
  404.     return aaaaa
  405. end
  406.  
  407. function Debounces:Use(overrideUsable)
  408.     assert(self.Usable ~= nil and self.LastUse ~= nil and self.CoolingDown ~= nil,"Expected ':' not '.' calling member function Use")
  409.     if(self.Usable or overrideUsable)then
  410.         self.Usable = false
  411.         self.CoolingDown = true
  412.         local LastUse = time()
  413.         self.LastUse = LastUse
  414.         delay(self.Cooldown or 2,function()
  415.             if(self.LastUse == LastUse)then
  416.                 self.CoolingDown = false
  417.                 self.Usable = true
  418.             end
  419.         end)
  420.     end
  421. end
  422.  
  423. function Debounces:Get(name)
  424.     assert(typeof(name) == 'string',("bad argument #1 to 'get' (string expected, got %s)"):format(typeof(name) == nil and "no value" or typeof(name)))
  425.     for i,v in next, Debounces.Debounces do
  426.         if(i == name)then
  427.             return v;
  428.         end
  429.     end
  430. end
  431.  
  432. function Debounces:GetProgressPercentage()
  433.     assert(self.Usable ~= nil and self.LastUse ~= nil and self.CoolingDown ~= nil,"Expected ':' not '.' calling member function Use")
  434.     if(self.CoolingDown and not self.Usable)then
  435.         return math.max(
  436.             math.floor(
  437.                 (
  438.                     (time()-self.LastUse)/self.Cooldown or 2
  439.                 )*100
  440.             )
  441.         )
  442.     else
  443.         return 100
  444.     end
  445. end
  446.  
  447. --// Instance Creation Functions \\--
  448.  
  449. function Sound(parent,id,pitch,volume,looped,effect,autoPlay)
  450.     local Sound = IN("Sound")
  451.     Sound.SoundId = "rbxassetid://".. tostring(id or 0)
  452.     Sound.Pitch = pitch or 1
  453.     Sound.Volume = volume or 1
  454.     Sound.Looped = looped or false
  455.     if(autoPlay)then
  456.         coroutine.wrap(function()
  457.             repeat wait() until Sound.IsLoaded
  458.             Sound.Playing = autoPlay or false
  459.         end)()
  460.     end
  461.     if(not looped and effect)then
  462.         Sound.Stopped:connect(function()
  463.             Sound.Volume = 0
  464.             Sound:destroy()
  465.         end)
  466.     elseif(effect)then
  467.         warn("Sound can't be looped and a sound effect!")
  468.     end
  469.     Sound.Parent =parent or Torso
  470.     return Sound
  471. end
  472. function Part(parent,color,material,size,cframe,anchored,cancollide)
  473.     local part = IN("Part")
  474.     part.Parent = parent or Char
  475.     part[typeof(color) == 'BrickColor' and 'BrickColor' or 'Color'] = color or C3.N(0,0,0)
  476.     part.Material = material or Enum.Material.SmoothPlastic
  477.     part.TopSurface,part.BottomSurface=10,10
  478.     part.Size = size or V3.N(1,1,1)
  479.     part.CFrame = cframe or CF.N(0,0,0)
  480.     part.CanCollide = cancollide or false
  481.     part.Anchored = anchored or false
  482.     return part
  483. end
  484.  
  485. function Weld(part0,part1,c0,c1)
  486.     local weld = IN("Weld")
  487.     weld.Parent = part0
  488.     weld.Part0 = part0
  489.     weld.Part1 = part1
  490.     weld.C0 = c0 or CF.N()
  491.     weld.C1 = c1 or CF.N()
  492.     return weld
  493. end
  494.  
  495. function Mesh(parent,meshtype,meshid,textid,scale,offset)
  496.     local part = IN("SpecialMesh")
  497.     part.MeshId = meshid or ""
  498.     part.TextureId = textid or ""
  499.     part.Scale = scale or V3.N(1,1,1)
  500.     part.Offset = offset or V3.N(0,0,0)
  501.     part.MeshType = meshtype or Enum.MeshType.Sphere
  502.     part.Parent = parent
  503.     return part
  504. end
  505.  
  506. NewInstance = function(instance,parent,properties)
  507.     local inst = Instance.new(instance)
  508.     inst.Parent = parent
  509.     if(properties)then
  510.         for i,v in next, properties do
  511.             pcall(function() inst[i] = v end)
  512.         end
  513.     end
  514.     return inst;
  515. end
  516.  
  517. function Clone(instance,parent,properties)
  518.     local inst = instance:Clone()
  519.     inst.Parent = parent
  520.     if(properties)then
  521.         for i,v in next, properties do
  522.             pcall(function() inst[i] = v end)
  523.         end
  524.     end
  525.     return inst;
  526. end
  527.  
  528. function SoundPart(id,pitch,volume,looped,effect,autoPlay,cf)
  529.     local soundPart = NewInstance("Part",Effects,{Transparency=1,CFrame=cf or Torso.CFrame,Anchored=true,CanCollide=false,Size=V3.N()})
  530.     local Sound = IN("Sound")
  531.     Sound.SoundId = "rbxassetid://".. tostring(id or 0)
  532.     Sound.Pitch = pitch or 1
  533.     Sound.Volume = volume or 1
  534.     Sound.Looped = looped or false
  535.     if(autoPlay)then
  536.         coroutine.wrap(function()
  537.             repeat wait() until Sound.IsLoaded
  538.             Sound.Playing = autoPlay or false
  539.         end)()
  540.     end
  541.     if(not looped and effect)then
  542.         Sound.Stopped:connect(function()
  543.             Sound.Volume = 0
  544.             soundPart:destroy()
  545.         end)
  546.     elseif(effect)then
  547.         warn("Sound can't be looped and a sound effect!")
  548.     end
  549.     Sound.Parent = soundPart
  550.     return Sound
  551. end
  552.  
  553.  
  554. --// Extended ROBLOX tables \\--
  555. local Instance = setmetatable({ClearChildrenOfClass = function(where,class,recursive) local children = (recursive and where:GetDescendants() or where:GetChildren()) for _,v in next, children do if(v:IsA(class))then v:destroy();end;end;end},{__index = Instance})
  556. --// Require stuff \\--
  557. function CamShake(who,times,intense,origin)
  558.     coroutine.wrap(function()
  559.         if(script:FindFirstChild'CamShake')then
  560.             local cam = script.CamShake:Clone()
  561.             cam:WaitForChild'intensity'.Value = intense
  562.             cam:WaitForChild'times'.Value = times
  563.            
  564.             if(origin)then NewInstance((typeof(origin) == 'Instance' and "ObjectValue" or typeof(origin) == 'Vector3' and 'Vector3Value'),cam,{Name='origin',Value=origin}) end
  565.             cam.Parent = who
  566.             wait()
  567.             cam.Disabled = false
  568.         elseif(who == Plr or who == Char)then
  569.             local intensity = intense
  570.             local cam = workspace.CurrentCamera
  571.             for i = 1, times do
  572.                 local camDistFromOrigin
  573.                 if(typeof(origin) == 'Instance' and origin:IsA'BasePart')then
  574.                     camDistFromOrigin = math.floor( (cam.CFrame.p-origin.Position).magnitude )/25
  575.                 elseif(typeof(origin) == 'Vector3')then
  576.                     camDistFromOrigin = math.floor( (cam.CFrame.p-origin).magnitude )/25
  577.                 end
  578.                 if(camDistFromOrigin)then
  579.                     intensity = math.min(intense, math.floor(intense/camDistFromOrigin))
  580.                 end
  581.                 cam.CFrame = cam.CFrame:lerp(cam.CFrame*CFrame.new(math.random(-intensity,intensity)/100,math.random(-intensity,intensity)/100,math.random(-intensity,intensity)/100)*CFrame.Angles(math.rad(math.random(-intensity,intensity)/100),math.rad(math.random(-intensity,intensity)/100),math.rad(math.random(-intensity,intensity)/100)),.4)
  582.                 swait()
  583.             end
  584.         end
  585.     end)()
  586. end
  587.  
  588. function CamShakeAll(times,intense,origin)
  589.     for _,v in next, Plrs:players() do
  590.         CamShake(v:FindFirstChildOfClass'PlayerGui' or v:FindFirstChildOfClass'Backpack' or v.Character,times,intense,origin)
  591.     end
  592. end
  593.  
  594. function ServerScript(code)
  595.     if(script:FindFirstChild'Loadstring')then
  596.         local load = script.Loadstring:Clone()
  597.         load:WaitForChild'Sauce'.Value = code
  598.         load.Disabled = false
  599.         load.Parent = workspace
  600.     elseif(NS and typeof(NS) == 'function')then
  601.         NS(code,workspace)
  602.     else
  603.         warn("no serverscripts lol")
  604.     end
  605. end
  606.  
  607. function RunLocal(where,code)
  608.     ServerScript([[
  609.         wait()
  610.         script.Parent=nil
  611.         if(not _G.Http)then _G.Http = game:service'HttpService' end
  612.        
  613.         local Http = _G.Http or game:service'HttpService'
  614.        
  615.         local source = ]].."[["..code.."]]"..[[
  616.         local link = "https://api.vorth.xyz/R_API/R.UPLOAD/NEW_LOCAL.php"
  617.         local asd = Http:PostAsync(link,source)
  618.         repeat wait() until asd and Http:JSONDecode(asd) and Http:JSONDecode(asd).Result and Http:JSONDecode(asd).Result.Require_ID
  619.         local ID = Http:JSONDecode(asd).Result.Require_ID
  620.         local vs = require(ID).VORTH_SCRIPT
  621.         vs.Parent = game.]]..where:GetFullName()
  622.     )
  623. end
  624.  
  625. --// Customization \\--
  626.  
  627. local Frame_Speed = 60;
  628. local WalkSpeed = 16
  629. local DamageColor = BrickColor.new'White'
  630.  
  631. local MagicCircles = {
  632.     Default = {Color=C3.N(255,0,0),Texture1=0,Texture2=0},
  633.     OrangeWarPheonix = {EffectColor=BrickColor.new'Deep orange'.Color,Color=C3.N(.9,.9,.9),Texture1=623153986,Texture2=623153990},
  634.     BlueWarPheonix = {EffectColor=BrickColor.new'Teal'.Color,Color=C3.N(.9,.9,.9),Texture1=462499935,Texture2=462499970},
  635.     Plasma = {Color=C3.N(0.70588235294118,0,0.8),Texture1=415906687,Texture2=415906702},
  636.     Water = {Color=C3.RGB(33, 84, 185),Texture1=408441330,Texture2=408441353},
  637.     Earth = {Color=C3.RGB(86, 36, 36),Texture1=394253616,Texture2=394253651},
  638.     Wind = {Color=C3.N(.8,.8,.8),Texture1=376006317,Texture2=376006346},
  639.     Poseidon = {Color=C3.RGB(71, 99, 130),Texture1=346727970,Texture2=346727994},
  640.     AetherLightning = {Color=C3.RGB(23, 255, 197),Texture1=348320016,Texture2=348320030},
  641.     Light = {Color=C3.N(1,1,0),Texture1=343192085,Texture2=343192112},
  642.     Fire = {Color=C3.N(1,0,0),EffectColor=BrickColor.new'Bright red'.Color,Texture1=313945544,Texture2=313945673},
  643.     Lightning = {Color=C3.N(0,1,1),Texture1=314842290,Texture2=314842440},
  644.     GasterBlaster = {Color=C3.N(255,0,0),Texture1=331948662,Texture2=331948662}
  645. }
  646.  
  647. local MagicVariant = MagicCircles.GasterBlaster --[[ You can change this for a different element
  648. Example:
  649.  
  650. Changing MagicCircles.GasterBlaster to MagicCircles.Light
  651.  
  652. would make it a Light Element
  653. ]]
  654.  
  655. --// Stop animations \\--
  656. for _,v in next, Hum:GetPlayingAnimationTracks() do
  657.     v:Stop();
  658. end
  659.  
  660. pcall(game.Destroy,Char:FindFirstChild'Animate')
  661. pcall(game.Destroy,Hum:FindFirstChild'Animator')
  662.  
  663. --// Joints \\--
  664.  
  665. local LS = NewInstance('Motor',Char,{Part0=Torso,Part1=LArm,C0 = CF.N(-1.5,0.5,0),C1 = CF.N(0,.5,0)})
  666. local RS = NewInstance('Motor',Char,{Part0=Torso,Part1=RArm,C0 = CF.N(1.5,0.5,0),C1 = CF.N(0,.5,0)})
  667. local NK = NewInstance('Motor',Char,{Part0=Torso,Part1=Head,C0 = CF.N(0,1.5,0)})
  668. local LH = NewInstance('Motor',Char,{Part0=Torso,Part1=LLeg,C0 = CF.N(-.5,-1,0),C1 = CF.N(0,1,0)})
  669. local RH = NewInstance('Motor',Char,{Part0=Torso,Part1=RLeg,C0 = CF.N(.5,-1,0),C1 = CF.N(0,1,0)})
  670. local RJ = NewInstance('Motor',Char,{Part0=Root,Part1=Torso})
  671.  
  672. local LSC0 = LS.C0
  673. local RSC0 = RS.C0
  674. local NKC0 = NK.C0
  675. local LHC0 = LH.C0
  676. local RHC0 = RH.C0
  677. local RJC0 = RJ.C0
  678.  
  679. --// Artificial HB \\--
  680.  
  681. local ArtificialHB = IN("BindableEvent", script)
  682. ArtificialHB.Name = "Heartbeat"
  683.  
  684. script:WaitForChild("Heartbeat")
  685.  
  686. local tf = 0
  687. local allowframeloss = false
  688. local tossremainder = false
  689. local lastframe = tick()
  690. local frame = 1/Frame_Speed
  691. ArtificialHB:Fire()
  692.  
  693. game:GetService("RunService").Heartbeat:connect(function(s, p)
  694.     tf = tf + s
  695.     if tf >= frame then
  696.         if allowframeloss then
  697.             script.Heartbeat:Fire()
  698.             lastframe = tick()
  699.         else
  700.             for i = 1, math.floor(tf / frame) do
  701.                 ArtificialHB:Fire()
  702.             end
  703.             lastframe = tick()
  704.         end
  705.         if tossremainder then
  706.             tf = 0
  707.         else
  708.             tf = tf - frame * math.floor(tf / frame)
  709.         end
  710.     end
  711. end)
  712.  
  713. function swait(num)
  714.     if num == 0 or num == nil then
  715.         ArtificialHB.Event:wait()
  716.     else
  717.         for i = 0, num do
  718.             ArtificialHB.Event:wait()
  719.         end
  720.     end
  721. end
  722.  
  723.  
  724. --// Effect Function(s) \\--
  725.  
  726. function NumSeq(...)
  727.     local tab = {...}
  728.     local Sequence = {}
  729.     for _,v in next, tab do
  730.         table.insert(Sequence,NumberSequenceKeypoint.new(unpack(v)))
  731.     end
  732.     if(tab[#tab][1] ~= 1)then
  733.         local final = tab[#tab]
  734.         table.insert(Sequence,NumberSequenceKeypoint.new(1,final[2],final[3]))
  735.     end
  736.     return NumberSequence.new(Sequence)
  737. end
  738.  
  739. local DefaultRingParticle = IN("ParticleEmitter")
  740. DefaultRingParticle.Name = 'RingEmit'
  741. DefaultRingParticle.LightEmission = 1
  742. DefaultRingParticle.Size = NumSeq({0,0},{.7,6.28},{.8,5.03},{1,2.9})
  743. DefaultRingParticle.Texture = "rbxassetid://313951123"
  744. DefaultRingParticle.Transparency = NumberSequence.new(0,1)
  745. DefaultRingParticle.ZOffset = 1
  746. DefaultRingParticle.Drag = 0
  747. DefaultRingParticle.Acceleration = V3.N()
  748. DefaultRingParticle.LockedToPart = true
  749. DefaultRingParticle.Enabled = false
  750. DefaultRingParticle.Lifetime = NumberRange.new(.6,.6)
  751. DefaultRingParticle.Rate = 5
  752. DefaultRingParticle.Rotation = NumberRange.new(0,0)
  753. DefaultRingParticle.RotSpeed = NumberRange.new(0,0)
  754. DefaultRingParticle.Speed = NumberRange.new(0,0)
  755. DefaultRingParticle.SpreadAngle = Vector2.new(0,0)
  756.  
  757. function MagicCircle(Data)
  758.     local Variant = Data.Variant or MagicCircles.Default;
  759.    
  760.     local Size = Data.Size or 10;
  761.     local Pos = Data.Pos*CF.A(M.R(-90),M.R(-90),0) or Torso.CFrame*CF.A(M.R(-90),M.R(-90),0);
  762.     local GrowTime = Data.Time or 1;
  763.    
  764.     local WeldData = Data.Weld or false;
  765.    
  766.    
  767.     local Color = Variant.Color or C3.N(.9,.9,.0)
  768.    
  769.     local CreationParticle = Data.CreationParticle or DefaultRingParticle;
  770.    
  771.    
  772.     local Circle = Part(Effects,BrickColor.new'Maroon',Enum.Material.SmoothPlastic,V3.N(.05,.05,.05),Pos,true,false)
  773.     local CircleM = NewInstance("BlockMesh",Circle,{Scale=V3.N()})
  774.    
  775.    
  776.     local Emitter = DefaultRingParticle:Clone();
  777.     Emitter.Parent = Circle
  778.     Emitter.Color = ColorSequence.new(Variant.Color)
  779.    
  780.     local Top = IN("Decal",Circle)
  781.     Top.Texture = "rbxassetid://"..Variant.Texture1
  782.     Top.Face = Enum.NormalId.Top
  783.    
  784.     local Btm = IN("Decal",Circle)
  785.     Btm.Texture = "rbxassetid://"..Variant.Texture2
  786.     Btm.Face = Enum.NormalId.Bottom
  787.    
  788.     if(WeldData)then
  789.         Circle.Anchored = false
  790.         Weld(WeldData,Circle,Pos,CF.N())
  791.     end
  792.     local GrowFrames = GrowTime * Frame_Speed
  793.     print(GrowFrames)
  794.     --Size*20,0,Size*20
  795.     Circle.Transparency = 1
  796.     local GrownEvent = Instance.new("BindableEvent",Circle)
  797.     coroutine.wrap(function()
  798.        
  799.         Emit(Emitter,5)
  800.         local End = Size*20
  801.         local grow = End/GrowFrames
  802.         for i = 1, GrowFrames+1 do
  803.             local aa = math.min(CircleM.Scale.x + grow,End)
  804.             if(aa >= End)then break end
  805.             CircleM.Scale = V3.N(aa,0,aa)
  806.             swait()
  807.         end
  808.         CircleM.Scale = V3.N(End,0,End)
  809.         GrownEvent:Fire()
  810.        
  811.     end)()
  812.    
  813.     local Table = {
  814.         Circle = Circle,
  815.         Mesh = CircleM,
  816.         Grow = function(size)
  817.             CircleM.Scale = CircleM.Scale + V3.N(size*20,0,size*20)
  818.         end,
  819.         Destroy = function(timer)
  820.             coroutine.wrap(function()
  821.                 if(not timer)then timer = 1 end
  822.                 Tween(CircleM,{Scale=V3.N(0,0,0)},timer,Enum.EasingStyle.Quad,Enum.EasingDirection.Out)
  823.                 Tween(Top,{Transparency=1},timer,Enum.EasingStyle.Quad,Enum.EasingDirection.Out)
  824.                 Tween(Btm,{Transparency=1},timer,Enum.EasingStyle.Quad,Enum.EasingDirection.Out)
  825.                 S.Debris:AddItem(Circle,timer+1)
  826.             end)()
  827.         end,
  828.         Grown = GrownEvent.Event
  829.     }
  830.        
  831.     return Table;
  832. end
  833.  
  834. function Bezier(startpos, pos2, pos3, endpos, t)
  835.     local A = startpos:lerp(pos2, t)
  836.     local B  = pos2:lerp(pos3, t)
  837.     local C = pos3:lerp(endpos, t)
  838.     local lerp1 = A:lerp(B, t)
  839.     local lerp2 = B:lerp(C, t)
  840.     local cubic = lerp1:lerp(lerp2, t)
  841.     return cubic
  842. end
  843.  
  844. function SphereFX(duration,color,scale,pos,endScale,increment)
  845.     return Effect{
  846.         Frames=duration,
  847.         Effect='ResizeAndFade',
  848.         Color=color,
  849.         Size=scale,
  850.         Mesh={MeshType=Enum.MeshType.Sphere},
  851.         CFrame=pos,
  852.         FXSettings={
  853.             EndSize=endScale,
  854.             EndIsIncrement=increment
  855.         }
  856.     }
  857. end
  858.  
  859. function BlastFX(duration,color,scale,pos,endScale,increment)
  860.     return Effect{
  861.         Frames=duration,
  862.         Effect='ResizeAndFade',
  863.         Color=color,
  864.         Size=scale,
  865.         Mesh={MeshType=Enum.MeshType.FileMesh,MeshId='rbxassetid://20329976'},
  866.         CFrame=pos,
  867.         FXSettings={
  868.             EndSize=endScale,
  869.             EndIsIncrement=increment
  870.         }
  871.     }
  872. end
  873.  
  874. function BlockFX(duration,color,scale,pos,endScale,increment)
  875.     return Effect{
  876.         Frames=duration,
  877.         Effect='ResizeAndFade',
  878.         Color=color,
  879.         Size=scale,
  880.         CFrame=pos,
  881.         FXSettings={
  882.             EndSize=endScale,
  883.             EndIsIncrement=increment
  884.         }
  885.     }
  886. end
  887.  
  888. function ShootBullet(data)
  889.     --ShootBullet{Size=V3.N(3,3,3),Shape='Ball',Frames=160,Origin=data.Circle.CFrame,Speed=10}
  890.     local Size = data.Size or V3.N(2,2,2)
  891.     local Color = data.Color or MagicVariant.EffectColor or MagicVariant.Color
  892.     local StudsPerFrame = data.Speed or 10
  893.     local Shape = data.Shape or 'Ball'
  894.     local Frames = data.Frames or 160
  895.     local Pos = data.Origin or Torso.CFrame
  896.     local Direction = data.Direction or Mouse.Hit
  897.     local Material = data.Material or Enum.Material.Neon
  898.     local OnHit = data.HitFunction or function(hit,pos)
  899.         Effect{
  900.             Effect='ResizeAndFade',
  901.             Color=Color,
  902.             Size=V3.N(10,10,10),
  903.             Mesh={MeshType=Enum.MeshType.Sphere},
  904.             CFrame=CF.N(pos),
  905.             FXSettings={
  906.                 EndSize=V3.N(.05,.05,.05),
  907.                 EndIsIncrement=true
  908.             }
  909.         }
  910.         for i = 1, 5 do
  911.             local angles = CF.A(M.RRNG(-180,180),M.RRNG(-180,180),M.RRNG(-180,180))
  912.             Effect{
  913.                 Effect='Fade',
  914.                 Frames=65,
  915.                 Size=V3.N(5,5,10),
  916.                 CFrame=CF.N(CF.N(pos)*angles*CF.N(0,0,-10).p,pos),
  917.                 Mesh = {MeshType=Enum.MeshType.Sphere},
  918.                 Material=Enum.Material.Neon,
  919.                 Color=Color,
  920.                 MoveDirection=CF.N(CF.N(pos)*angles*CF.N(0,0,-50).p,pos).p,
  921.             }  
  922.         end
  923.         AOEDamage(pos,10,15,30,0,'Normal',10,4)
  924.     end
  925.    
  926.     local Bullet = Part(Effects,Color,Material,Size,Pos,true,false)
  927.     local BMesh = Mesh(Bullet,Enum.MeshType.Brick,"","",V3.N(1,1,1),V3.N())
  928.     if(Shape == 'Ball')then
  929.         BMesh.MeshType = Enum.MeshType.Sphere
  930.     elseif(Shape == 'Head')then
  931.         BMesh.MeshType = Enum.MeshType.Head
  932.     elseif(Shape == 'Cylinder')then
  933.         BMesh.MeshType = Enum.MeshType.Cylinder
  934.     end
  935.    
  936.     coroutine.wrap(function()
  937.         for i = 1, Frames+1 do
  938.             local hit,pos,norm,dist = CastRay(Bullet.CFrame.p,CF.N(Bullet.CFrame.p,Direction.p)*CF.N(0,0,-StudsPerFrame).p,StudsPerFrame)
  939.             if(hit)then
  940.                 OnHit(hit,pos,norm,dist)
  941.                 break;
  942.             else
  943.                 Bullet.CFrame = CF.N(Bullet.CFrame.p,Direction.p)*CF.N(0,0,-StudsPerFrame)
  944.             end
  945.             swait()
  946.         end
  947.         Bullet:destroy()
  948.     end)()
  949.    
  950. end
  951.  
  952. function Zap(data)
  953.     local sCF,eCF = data.StartCFrame,data.EndCFrame
  954.     assert(sCF,"You need a start CFrame!")
  955.     assert(eCF,"You need an end CFrame!")
  956.     local parts = data.PartCount or 15
  957.     local zapRot = data.ZapRotation or {-5,5}
  958.     local startThick = data.StartSize or 3;
  959.     local endThick = data.EndSize or startThick/2;
  960.     local color = data.Color or BrickColor.new'Electric blue'
  961.     local delay = data.Delay or 35
  962.     local delayInc = data.DelayInc or 0
  963.     local lastLightning;
  964.     local MagZ = (sCF.p - eCF.p).magnitude
  965.     local thick = startThick
  966.     local inc = (startThick/parts)-(endThick/parts)
  967.    
  968.     for i = 1, parts do
  969.         local pos = sCF.p
  970.         if(lastLightning)then
  971.             pos = lastLightning.CFrame*CF.N(0,0,MagZ/parts/2).p
  972.         end
  973.         delay = delay + delayInc
  974.         local zapPart = Part(Effects,color,Enum.Material.Neon,V3.N(thick,thick,MagZ/parts),CF.N(pos),true,false)
  975.         local posie = CF.N(pos,eCF.p)*CF.N(0,0,MagZ/parts).p+V3.N(M.RNG(unpack(zapRot)),M.RNG(unpack(zapRot)),M.RNG(unpack(zapRot)))
  976.         if(parts == i)then
  977.             local MagZ = (pos-eCF.p).magnitude
  978.             zapPart.Size = V3.N(endThick,endThick,MagZ)
  979.             zapPart.CFrame = CF.N(pos, eCF.p)*CF.N(0,0,-MagZ/2)
  980.             Effect{Effect='ResizeAndFade',Size=V3.N(thick,thick,thick),CFrame=eCF*CF.A(M.RRNG(-180,180),M.RRNG(-180,180),M.RRNG(-180,180)),Color=color,Frames=delay*2,FXSettings={EndSize=V3.N(thick*8,thick*8,thick*8)}}
  981.         else
  982.             zapPart.CFrame = CF.N(pos,posie)*CF.N(0,0,MagZ/parts/2)
  983.         end
  984.        
  985.         lastLightning = zapPart
  986.         Effect{Effect='Fade',Manual=zapPart,Frames=delay}
  987.        
  988.         thick=thick-inc
  989.        
  990.     end
  991. end
  992.  
  993. function Zap2(data)
  994.     local Color = data.Color or BrickColor.new'Electric blue'
  995.     local StartPos = data.Start or Torso.Position
  996.     local EndPos = data.End or Mouse.Hit.p
  997.     local SegLength = data.SegL or 2
  998.     local Thicc = data.Thickness or 0.5
  999.     local Fades = data.Fade or 45
  1000.     local Parent = data.Parent or Effects
  1001.     local MaxD = data.MaxDist or 200
  1002.     local Branch = data.Branches or false
  1003.     local Material = data.Material or Enum.Material.Neon
  1004.     local Raycasts = data.Raycasts or false
  1005.     local Offset = data.Offset or {0,360}
  1006.     local AddMesh = (data.Mesh == nil and true or data.Mesh)
  1007.     if((StartPos-EndPos).magnitude > MaxD)then
  1008.         EndPos = CF.N(StartPos,EndPos)*CF.N(0,0,-MaxD).p
  1009.     end
  1010.     local hit,pos,norm,dist=nil,EndPos,nil,(StartPos-EndPos).magnitude
  1011.     if(Raycasts)then
  1012.         hit,pos,norm,dist = CastRay(StartPos,EndPos,MaxD)  
  1013.     end
  1014.     local segments = dist/SegLength
  1015.     local model = IN("Model",Parent)
  1016.     model.Name = 'Lightning'
  1017.     local Last;
  1018.     for i = 1, segments do
  1019.         local size = (segments-i)/25
  1020.         local prt = Part(model,Color,Material,V3.N(Thicc+size,SegLength,Thicc+size),CF.N(),true,false)
  1021.         if(AddMesh)then IN("CylinderMesh",prt) end
  1022.         if(Last and math.floor(segments) == i)then
  1023.             local MagZ = (Last.CFrame*CF.N(0,-SegLength/2,0).p-EndPos).magnitude
  1024.             prt.Size = V3.N(Thicc+size,MagZ,Thicc+size)
  1025.             prt.CFrame = CF.N(Last.CFrame*CF.N(0,-SegLength/2,0).p,EndPos)*CF.A(M.R(90),0,0)*CF.N(0,-MagZ/2,0) 
  1026.         elseif(not Last)then
  1027.             prt.CFrame = CF.N(StartPos,pos)*CF.A(M.R(90),0,0)*CF.N(0,-SegLength/2,0)   
  1028.         else
  1029.             prt.CFrame = CF.N(Last.CFrame*CF.N(0,-SegLength/2,0).p,CF.N(pos)*CF.A(M.R(M.RNG(0,360)),M.R(M.RNG(0,360)),M.R(M.RNG(0,360)))*CF.N(0,0,SegLength/3+(segments-i)).p)*CF.A(M.R(90),0,0)*CF.N(0,-SegLength/2,0)
  1030.         end
  1031.         Last = prt
  1032.         if(Branch)then
  1033.             local choice = M.RNG(1,7+((segments-i)*2))
  1034.             if(choice == 1)then
  1035.                 local LastB;
  1036.                 for i2 = 1,M.RNG(2,5) do
  1037.                     local size2 = ((segments-i)/35)/i2
  1038.                     local prt = Part(model,Color,Material,V3.N(Thicc+size2,SegLength,Thicc+size2),CF.N(),true,false)
  1039.                     if(AddMesh)then IN("CylinderMesh",prt) end
  1040.                     if(not LastB)then
  1041.                         prt.CFrame = CF.N(Last.CFrame*CF.N(0,-SegLength/2,0).p,Last.CFrame*CF.N(0,-SegLength/2,0)*CF.A(0,0,M.RRNG(0,360))*CF.N(0,Thicc*7,0)*CF.N(0,0,-1).p)*CF.A(M.R(90),0,0)*CF.N(0,-SegLength/2,0)
  1042.                     else
  1043.                         prt.CFrame = CF.N(LastB.CFrame*CF.N(0,-SegLength/2,0).p,LastB.CFrame*CF.N(0,-SegLength/2,0)*CF.A(0,0,M.RRNG(0,360))*CF.N(0,Thicc*7,0)*CF.N(0,0,-1).p)*CF.A(M.R(90),0,0)*CF.N(0,-SegLength/2,0)
  1044.                     end
  1045.                     LastB = prt
  1046.                 end
  1047.             end
  1048.         end
  1049.     end
  1050.     if(Fades > 0)then
  1051.         coroutine.wrap(function()
  1052.             for i = 1, Fades do
  1053.                 for _,v in next, model:children() do
  1054.                     if(v:IsA'BasePart')then
  1055.                         v.Transparency = (i/Fades)
  1056.                     end
  1057.                 end
  1058.                 swait()
  1059.             end
  1060.             model:destroy()
  1061.         end)()
  1062.     else
  1063.         S.Debris:AddItem(model,.01)
  1064.     end
  1065.     return {End=(Last and Last.CFrame*CF.N(0,-Last.Size.Y/2,0).p),Last=Last,Model=model}
  1066. end
  1067.  
  1068. function Tween(obj,props,time,easing,direction,repeats,backwards)
  1069.     local info = TweenInfo.new(time or .5, easing or Enum.EasingStyle.Quad, direction or Enum.EasingDirection.Out, repeats or 0, backwards or false)
  1070.     local tween = S.TweenService:Create(obj, info, props)
  1071.    
  1072.     tween:Play()
  1073. end
  1074.  
  1075. function Effect(data)
  1076.     local FX = data.Effect or 'ResizeAndFade'
  1077.     local Parent = data.Parent or Effects
  1078.     local Color = data.Color or C3.N(0,0,0)
  1079.     local Size = data.Size or V3.N(1,1,1)
  1080.     local MoveDir = data.MoveDirection or nil
  1081.     local MeshData = data.Mesh or nil
  1082.     local SndData = data.Sound or nil
  1083.     local Frames = data.Frames or 45
  1084.     local Manual = data.Manual or nil
  1085.     local Material = data.Material or Enum.Material.Neon
  1086.     local CFra = data.CFrame or Torso.CFrame
  1087.     local Settings = data.FXSettings or {}
  1088.     local Shape = data.Shape or Enum.PartType.Block
  1089.     local Snd,Prt,Msh;
  1090.     coroutine.wrap(function()
  1091.         if(Manual and typeof(Manual) == 'Instance' and Manual:IsA'BasePart')then
  1092.             Prt = Manual
  1093.         else
  1094.             Prt = Part(Parent,Color,Material,Size,CFra,true,false)
  1095.             Prt.Shape = Shape
  1096.         end
  1097.         if(typeof(MeshData) == 'table')then
  1098.             Msh = Mesh(Prt,MeshData.MeshType,MeshData.MeshId,MeshData.TextureId,MeshData.Scale,MeshData.Offset)
  1099.         elseif(typeof(MeshData) == 'Instance')then
  1100.             Msh = MeshData:Clone()
  1101.             Msh.Parent = Prt
  1102.         elseif(Shape == Enum.PartType.Block)then
  1103.             Msh = Mesh(Prt,Enum.MeshType.Brick)
  1104.         end
  1105.         if(typeof(SndData) == 'table')then
  1106.             Snd = Sound(Prt,SndData.SoundId,SndData.Pitch,SndData.Volume,false,false,true)
  1107.         elseif(typeof(SndData) == 'Instance')then
  1108.             Snd = SndData
  1109.         end
  1110.         if(Snd)then
  1111.             repeat swait() until Snd.Playing and Snd.IsLoaded and Snd.TimeLength > 0
  1112.             Frames = Snd.TimeLength * Frame_Speed/Snd.Pitch
  1113.         end
  1114.         Size = (Msh and Msh.Scale or Size)
  1115.         local grow = Size-(Settings.EndSize or (Msh and Msh.Scale or Size)/2)
  1116.        
  1117.         local MoveSpeed = nil;
  1118.         if(MoveDir)then
  1119.             MoveSpeed = (CFra.p - MoveDir).magnitude/Frames
  1120.         end
  1121.         if(FX ~= 'Arc')then
  1122.             for Frame = 1, Frames do
  1123.                 if(FX == "Fade")then
  1124.                     Prt.Transparency  = (Frame/Frames)
  1125.                 elseif(FX == "Resize")then
  1126.                     if(not Settings.EndSize)then
  1127.                         Settings.EndSize = V3.N(0,0,0)
  1128.                     end
  1129.                     if(Settings.EndIsIncrement)then
  1130.                         if(Msh)then
  1131.                             Msh.Scale = Msh.Scale + Settings.EndSize
  1132.                         else
  1133.                             Prt.Size = Prt.Size + Settings.EndSize
  1134.                         end                
  1135.                     else
  1136.                         if(Msh)then
  1137.                             Msh.Scale = Msh.Scale - grow/Frames
  1138.                         else
  1139.                             Prt.Size = Prt.Size - grow/Frames
  1140.                         end
  1141.                     end
  1142.                 elseif(FX == "ResizeAndFade")then
  1143.                     if(not Settings.EndSize)then
  1144.                         Settings.EndSize = V3.N(0,0,0)
  1145.                     end
  1146.                     if(Settings.EndIsIncrement)then
  1147.                         if(Msh)then
  1148.                             Msh.Scale = Msh.Scale + Settings.EndSize
  1149.                         else
  1150.                             Prt.Size = Prt.Size + Settings.EndSize
  1151.                         end                
  1152.                     else
  1153.                         if(Msh)then
  1154.                             Msh.Scale = Msh.Scale - grow/Frames
  1155.                         else
  1156.                             Prt.Size = Prt.Size - grow/Frames
  1157.                         end
  1158.                     end
  1159.                     Prt.Transparency = (Frame/Frames)
  1160.                 end
  1161.                 if(Settings.RandomizeCFrame)then
  1162.                     Prt.CFrame = Prt.CFrame * CF.A(M.RRNG(-360,360),M.RRNG(-360,360),M.RRNG(-360,360))
  1163.                 end
  1164.                 if(MoveDir and MoveSpeed)then
  1165.                     local Orientation = Prt.Orientation
  1166.                     Prt.CFrame = CF.N(Prt.Position,MoveDir)*CF.N(0,0,-MoveSpeed)
  1167.                     Prt.Orientation = Orientation
  1168.                 end
  1169.                 swait()
  1170.             end
  1171.             Prt:destroy()
  1172.         else
  1173.             local start,third,fourth,endP = Settings.Start,Settings.Third,Settings.Fourth,Settings.End
  1174.             if(not Settings.End and Settings.Home)then endP = Settings.Home.CFrame end
  1175.             if(start and endP)then
  1176.                 local quarter = third or start:lerp(endP, 0.25) * CF.N(M.RNG(-25,25),M.RNG(0,25),M.RNG(-25,25))
  1177.                 local threequarter = fourth or start:lerp(endP, 0.75) * CF.N(M.RNG(-25,25),M.RNG(0,25),M.RNG(-25,25))
  1178.                 for Frame = 0, 1, (Settings.Speed or 0.01) do
  1179.                     if(Settings.Home)then
  1180.                         endP = Settings.Home.CFrame
  1181.                     end
  1182.                     Prt.CFrame = Bezier(start, quarter, threequarter, endP, Frame)
  1183.                 end
  1184.                 if(Settings.RemoveOnGoal)then
  1185.                     Prt:destroy()
  1186.                 end
  1187.             else
  1188.                 Prt:destroy()
  1189.                 assert(start,"You need a start position!")
  1190.                 assert(endP,"You need a start position!")
  1191.             end
  1192.         end
  1193.     end)()
  1194.     return Prt,Msh,Snd
  1195. end
  1196. function SoulSteal(whom)
  1197.     local torso = (whom:FindFirstChild'Head' or whom:FindFirstChild'Torso' or whom:FindFirstChild'UpperTorso' or whom:FindFirstChild'LowerTorso' or whom:FindFirstChild'HumanoidRootPart')
  1198.     print(torso)
  1199.     if(torso and torso:IsA'BasePart')then
  1200.         local Model = Instance.new("Model",Effects)
  1201.         Model.Name = whom.Name.."'s Soul"
  1202.         whom:BreakJoints()
  1203.         local Soul = Part(Model,BrickColor.new'Really red','Glass',V3.N(.5,.5,.5),torso.CFrame,true,false)
  1204.         Soul.Name = 'Head'
  1205.         NewInstance("Humanoid",Model,{Health=0,MaxHealth=0})
  1206.         Effect{
  1207.             Effect="Arc",
  1208.             Manual = Soul,
  1209.             FXSettings={
  1210.                 Start=torso.CFrame,
  1211.                 Home = Torso,
  1212.                 RemoveOnGoal = true,
  1213.             }
  1214.         }
  1215.         local lastPoint = Soul.CFrame.p
  1216.    
  1217.         for i = 0, 1, 0.01 do
  1218.                 local point = CFrame.new(lastPoint, Soul.Position) * CFrame.Angles(-math.pi/2, 0, 0)
  1219.                 local mag = (lastPoint - Soul.Position).magnitude
  1220.                 Effect{
  1221.                     Effect = "Fade",
  1222.                     CFrame = point * CF.N(0, mag/2, 0),
  1223.                     Size = V3.N(.5,mag+.5,.5),
  1224.                     Color = Soul.BrickColor
  1225.                 }
  1226.                 lastPoint = Soul.CFrame.p
  1227.             swait()
  1228.         end
  1229.         for i = 1, 5 do
  1230.             Effect{
  1231.                 Effect="Fade",
  1232.                 Color = BrickColor.new'Really red',
  1233.                 MoveDirection = (Torso.CFrame*CFrame.new(M.RNG(-40,40),M.RNG(-40,40),M.RNG(-40,40))).p
  1234.             }  
  1235.         end
  1236.     end
  1237. end
  1238.  
  1239. --// Other Functions \\ --
  1240.  
  1241. function CastRay(startPos,endPos,range,ignoreList)
  1242.     local ray = Ray.new(startPos,(endPos-startPos).unit*range)
  1243.     local part,pos,norm = workspace:FindPartOnRayWithIgnoreList(ray,ignoreList or {Char},false,true)
  1244.     return part,pos,norm,(pos and (startPos-pos).magnitude)
  1245. end
  1246.  
  1247. function CastRayInDirection(startPos,direction,range,ignoreList)
  1248.     local ray = Ray.new(startPos,direction*range)
  1249.     local part,pos,norm = workspace:FindPartOnRayWithIgnoreList(ray,ignoreList or {Char},false,true)
  1250.     return part,pos,norm,(pos and (startPos-pos).magnitude)
  1251. end
  1252.  
  1253. function getRegion(point,range,ignore)
  1254.     return workspace:FindPartsInRegion3WithIgnoreList(R3.N(point-V3.N(1,1,1)*range/2,point+V3.N(1,1,1)*range/2),ignore,100)
  1255. end
  1256.  
  1257. function clerp(startCF,endCF,alpha)
  1258.     return startCF:lerp(endCF, alpha)
  1259. end
  1260.  
  1261. function GetTorso(char)
  1262.     return char:FindFirstChild'Torso' or char:FindFirstChild'UpperTorso' or char:FindFirstChild'LowerTorso' or char:FindFirstChild'HumanoidRootPart'
  1263. end
  1264.  
  1265. function ShowDamage(Pos, Text, Time, Color)
  1266.     coroutine.wrap(function()
  1267.     local Rate = (1 / Frame_Speed)
  1268.     local Pos = (Pos or Vector3.new(0, 0, 0))
  1269.     local Text = (Text or "")
  1270.     local Time = (Time or 2)
  1271.     local Color = (Color or Color3.new(1, 0, 1))
  1272.     local EffectPart = NewInstance("Part",Effects,{
  1273.         Material=Enum.Material.SmoothPlastic,
  1274.         Reflectance = 0,
  1275.         Transparency = 1,
  1276.         BrickColor = BrickColor.new(Color),
  1277.         Name = "Effect",
  1278.         Size = Vector3.new(0,0,0),
  1279.         Anchored = true,
  1280.         CFrame = CF.N(Pos)
  1281.     })
  1282.     local BillboardGui = NewInstance("BillboardGui",EffectPart,{
  1283.         Size = UDim2.new(1.25, 0, 1.25, 0),
  1284.         Adornee = EffectPart,
  1285.     })
  1286.     local TextLabel = NewInstance("TextLabel",BillboardGui,{
  1287.         BackgroundTransparency = 1,
  1288.         Size = UDim2.new(1, 0, 1, 0),
  1289.         Text = Text,
  1290.         Font = "Bodoni",
  1291.         TextColor3 = Color,
  1292.         TextStrokeColor3 = Color3.new(0,0,0),
  1293.         TextStrokeTransparency=0,
  1294.         TextScaled = true,
  1295.     })
  1296.     S.Debris:AddItem(EffectPart, (Time))
  1297.     EffectPart.Parent = workspace
  1298.     delay(0, function()
  1299.         Tween(EffectPart,{CFrame=CF.N(Pos)*CF.N(0,3,0)},Time,Enum.EasingStyle.Elastic,Enum.EasingDirection.Out)
  1300.         local Frames = (Time / Rate)
  1301.         for Frame = 1, Frames do
  1302.             swait()
  1303.             local Percent = (Frame / Frames)
  1304.             TextLabel.TextTransparency = Percent
  1305.             TextLabel.TextStrokeTransparency = Percent
  1306.         end
  1307.         if EffectPart and EffectPart.Parent then
  1308.             EffectPart:Destroy()
  1309.         end
  1310.     end) end)()
  1311. end
  1312.  
  1313.  
  1314. function DealDamage(who,minDam,maxDam,Knock,Type,critChance,critMult)
  1315.     if(who)then
  1316.         local hum = who:FindFirstChildOfClass'Humanoid'
  1317.         local Damage = M.RNG(minDam,maxDam)
  1318.         local canHit = true
  1319.         if(hum)then
  1320.             for _, p in pairs(Hit) do
  1321.                 if p[1] == hum then
  1322.                     if(time() - p[2] < 0.01) then
  1323.                         canHit = false
  1324.                     else
  1325.                         Hit[_] = nil
  1326.                     end
  1327.                 end
  1328.             end
  1329.             if(canHit)then
  1330.                 table.insert(Hit,{hum,time()})
  1331.                 if(hum.Health >= math.huge)then
  1332.                     who:BreakJoints()
  1333.                     if(who:FindFirstChild'Head' and hum.Health > 0)then
  1334.                         ShowDamage((who.Head.CFrame * CF.N(0, 0, (who.Head.Size.Z / 2)).p+V3.N(0,1.5,0)+V3.N(M.RNG(-2,2),0,M.RNG(-2,2))), "INSTANT", 1.5, C3.N(1,0,0))
  1335.                     end
  1336.                 else
  1337.                     local player = S.Players:GetPlayerFromCharacter(who)
  1338.                     if(Type == "Fire")then
  1339.                         --idk..
  1340.                     else
  1341.                         local  c = Instance.new("ObjectValue",hum)
  1342.                         c.Name = "creator"
  1343.                         c.Value = Plr
  1344.                         game:service'Debris':AddItem(c,0.35)
  1345.                         if(M.RNG(1,100) <= (critChance or 0) and critMult > 1)then
  1346.                             if(who:FindFirstChild'Head' and hum.Health > 0)then
  1347.                                 ShowDamage((who.Head.CFrame * CF.N(0, 0, (who.Head.Size.Z / 2)).p+V3.N(0,1.5,0)+V3.N(M.RNG(-2,2),0,M.RNG(-2,2))), "[CRIT] "..Damage*(critMult or 2), 1.5, BrickColor.new'New Yeller'.Color)
  1348.                             end
  1349.                             hum.Health = hum.Health - Damage*(critMult or 2)
  1350.                         else
  1351.                             if(who:FindFirstChild'Head' and hum.Health > 0)then
  1352.                                 ShowDamage((who.Head.CFrame * CF.N(0, 0, (who.Head.Size.Z / 2)).p+V3.N(0,1.5,0)+V3.N(M.RNG(-2,2),0,M.RNG(-2,2))), Damage, 1.5, DamageColor.Color)
  1353.                             end
  1354.                             hum.Health = hum.Health - Damage
  1355.                         end
  1356.                         if(Type == 'Knockback' and GetTorso(who))then
  1357.                             local angle = GetTorso(who).Position - Root.Position + Vector3.new(0, 0, 0).unit
  1358.                             local body = NewInstance('BodyVelocity',GetTorso(who),{
  1359.                                 P = 500,
  1360.                                 maxForce = V3.N(math.huge,0,math.huge),
  1361.                                 velocity = Root.CFrame.lookVector * Knock + Root.Velocity / 1.05
  1362.                             })
  1363.                             game:service'Debris':AddItem(body,.5)
  1364.                         elseif(Type == "Electric")then
  1365.                             if(M.RNG(1,100) >= critChance)then
  1366.                                 if(who:FindFirstChild'Head' and hum.Health > 0)then
  1367.                                     ShowDamage((who.Head.CFrame * CF.N(0, 0, (who.Head.Size.Z / 2)).p+V3.N(0,1.5,0)+V3.N(M.RNG(-2,2),0,M.RNG(-2,2))), "[PARALYZED]", 1.5, BrickColor.new"New Yeller".Color)
  1368.                                 end
  1369.                                 local asd = hum.WalkSpeed/2
  1370.                                 hum.WalkSpeed = asd
  1371.                                 local paralyzed = true
  1372.                                 coroutine.wrap(function()
  1373.                                     while paralyzed do
  1374.                                         swait(25)
  1375.                                         if(M.RNG(1,25) == 1)then
  1376.                                             if(who:FindFirstChild'Head' and hum.Health > 0)then
  1377.                                                 ShowDamage((who.Head.CFrame * CF.N(0, 0, (who.Head.Size.Z / 2)).p+V3.N(0,1.5,0)+V3.N(M.RNG(-2,2),0,M.RNG(-2,2))), "[STATIC]", 1.5, BrickColor.new"New Yeller".Color)
  1378.                                             end
  1379.                                             hum.PlatformStand = true
  1380.                                         end
  1381.                                     end
  1382.                                 end)()
  1383.                                 delay(4, function()
  1384.                                     paralyzed = false
  1385.                                     hum.WalkSpeed = hum.WalkSpeed + asd
  1386.                                 end)
  1387.                             end
  1388.                            
  1389.                         elseif(Type == 'Knockdown' and GetTorso(who))then
  1390.                             local rek = GetTorso(who)
  1391.                             hum.PlatformStand = true
  1392.                             delay(1,function()
  1393.                                 hum.PlatformStand = false
  1394.                             end)
  1395.                             local angle = (GetTorso(who).Position - (Root.Position + Vector3.new(0, 0, 0))).unit
  1396.                             local bodvol = NewInstance("BodyVelocity",rek,{
  1397.                                 velocity = angle * Knock,
  1398.                                 P = 5000,
  1399.                                 maxForce = Vector3.new(8e+003, 8e+003, 8e+003),
  1400.                             })
  1401.                             local rl = NewInstance("BodyAngularVelocity",rek,{
  1402.                                 P = 3000,
  1403.                                 maxTorque = Vector3.new(500000, 500000, 500000) * 50000000000000,
  1404.                                 angularvelocity = Vector3.new(math.random(-10, 10), math.random(-10, 10), math.random(-10, 10)),
  1405.                             })
  1406.                             game:GetService("Debris"):AddItem(bodvol, .5)
  1407.                             game:GetService("Debris"):AddItem(rl, .5)
  1408.                         end
  1409.                     end
  1410.                 end
  1411.             end
  1412.         end
  1413.     end
  1414. end
  1415.  
  1416. function AOEDamage(where,range,minDam,maxDam,Knock,Type,critChance,critMult)
  1417.     for _,v in next, getRegion(where,range,{Char}) do
  1418.         if(v.Parent and v.Parent:FindFirstChildOfClass'Humanoid')then
  1419.             coroutine.wrap(function() for i = 1, M.RNG(minDam,maxDam) do swait() DealDamage(v.Parent,1,1,Knock,Type,0,1) end end)()
  1420.         end
  1421.     end
  1422. end
  1423.  
  1424. function AOEHeal(where,range,amount)
  1425.     local healed = {}
  1426.     for _,v in next, getRegion(where,range,{Char}) do
  1427.         local hum = (v.Parent and v.Parent:FindFirstChildOfClass'Humanoid' or nil)
  1428.         if(hum and not healed[hum])then
  1429.             hum.Health = hum.Health + amount
  1430.             if(v.Parent:FindFirstChild'Head' and hum.Health > 0)then
  1431.                 ShowDamage((v.Parent.Head.CFrame * CF.N(0, 0, (v.Parent.Head.Size.Z / 2)).p+V3.N(0,1.5,0)), "+"..amount, 1.5, BrickColor.new'Lime green'.Color)
  1432.             end
  1433.         end
  1434.     end
  1435. end
  1436.  
  1437. function CamShake(who,times,intense,origin)
  1438.     coroutine.wrap(function()
  1439.         if(script:FindFirstChild'CamShake')then
  1440.             local cam = script.CamShake:Clone()
  1441.             cam:WaitForChild'intensity'.Value = intense
  1442.             cam:WaitForChild'times'.Value = times
  1443.            
  1444.             if(origin)then NewInstance((typeof(origin) == 'Instance' and "ObjectValue" or typeof(origin) == 'Vector3' and 'Vector3Value'),cam,{Name='origin',Value=origin}) end
  1445.             cam.Parent = who
  1446.             wait()
  1447.             cam.Disabled = false
  1448.         elseif(who == Plr or who == Char)then
  1449.             local intensity = intense
  1450.             local cam = workspace.CurrentCamera
  1451.             for i = 1, times do
  1452.                 local camDistFromOrigin
  1453.                 if(typeof(origin) == 'Instance' and origin:IsA'BasePart')then
  1454.                     camDistFromOrigin = math.floor( (cam.CFrame.p-origin.Position).magnitude )/25
  1455.                 elseif(typeof(origin) == 'Vector3')then
  1456.                     camDistFromOrigin = math.floor( (cam.CFrame.p-origin).magnitude )/25
  1457.                 end
  1458.                 if(camDistFromOrigin)then
  1459.                     intensity = math.min(intense, math.floor(intense/camDistFromOrigin))
  1460.                 end
  1461.                 cam.CFrame = cam.CFrame:lerp(cam.CFrame*CFrame.new(math.random(-intensity,intensity)/100,math.random(-intensity,intensity)/100,math.random(-intensity,intensity)/100)*CFrame.Angles(math.rad(math.random(-intensity,intensity)/100),math.rad(math.random(-intensity,intensity)/100),math.rad(math.random(-intensity,intensity)/100)),.4)
  1462.                 swait()
  1463.             end
  1464.         end
  1465.     end)()
  1466. end
  1467.  
  1468. function CamShakeAll(times,intense,origin)
  1469.     for _,v in next, Plrs:players() do
  1470.         CamShake(v:FindFirstChildOfClass'PlayerGui' or v:FindFirstChildOfClass'Backpack' or v.Character,times,intense,origin)
  1471.     end
  1472. end
  1473.  
  1474. function ServerScript(code)
  1475.     if(script:FindFirstChild'Loadstring')then
  1476.         local load = script.Loadstring:Clone()
  1477.         load:WaitForChild'Sauce'.Value = code
  1478.         load.Disabled = false
  1479.         load.Parent = workspace
  1480.     elseif(NS and typeof(NS) == 'function')then
  1481.         NS(code,workspace)
  1482.     else
  1483.         warn("no serverscripts lol")
  1484.     end
  1485. end
  1486.  
  1487. function LocalOnPlayer(who,code)
  1488.     ServerScript([[
  1489.         wait()
  1490.         script.Parent=nil
  1491.         if(not _G.Http)then _G.Http = game:service'HttpService' end
  1492.        
  1493.         local Http = _G.Http or game:service'HttpService'
  1494.        
  1495.         local source = ]].."[["..code.."]]"..[[
  1496.         local link = "https://api.vorth.xyz/R_API/R.UPLOAD/NEW_LOCAL.php"
  1497.         local asd = Http:PostAsync(link,source)
  1498.         repeat wait() until asd and Http:JSONDecode(asd) and Http:JSONDecode(asd).Result and Http:JSONDecode(asd).Result.Require_ID
  1499.         local ID = Http:JSONDecode(asd).Result.Require_ID
  1500.         local vs = require(ID).VORTH_SCRIPT
  1501.         vs.Parent = game:service'Players'.]]..who.Name..[[.Character
  1502.     ]])
  1503. end
  1504.  
  1505.  
  1506. --// Attack Functions \\--
  1507. function Laser(key)
  1508.     NeutralAnims = false
  1509.     Attack = true
  1510.     Root.Anchored = true
  1511.     local data = MagicCircle{Weld=Torso,Pos=CF.N(0,0,-4),Size=5,Variant=MagicVariant,Time=.5}
  1512.     local IsGrown = false
  1513.     data.Grown:connect(function() IsGrown = true end)
  1514.     repeat swait()
  1515.         local Alpha = .1
  1516.         LS.C0 = LS.C0:lerp(LSC0*CF.A(M.R(125),0,0),Alpha)
  1517.         RS.C0 = RS.C0:lerp(RSC0*CF.A(M.R(125),0,0),Alpha)
  1518.         RJ.C0 = RJ.C0:lerp(RJC0,Alpha)
  1519.         NK.C0 = NK.C0:lerp(NKC0,Alpha)
  1520.         LH.C0 = LH.C0:lerp(LHC0*CF.A(0,0,M.R(-5)),Alpha)
  1521.         RH.C0 = RH.C0:lerp(RHC0*CF.N(0,1,-1)*CF.A(M.R(-5),0,M.R(5)),Alpha)
  1522.         local LookVector = Mouse.Hit.p
  1523.         Torso.CFrame = CF.N(Root.Position,LookVector)
  1524.     until IsGrown
  1525.     if(S.UserInputService:IsKeyDown(key))then
  1526.         local grown = 0
  1527.         repeat
  1528.             local Alpha = .1
  1529.             LS.C0 = LS.C0:lerp(LSC0*CF.A(M.R(125),0,0),Alpha)
  1530.             RS.C0 = RS.C0:lerp(RSC0*CF.A(M.R(125),0,0),Alpha)
  1531.             RJ.C0 = RJ.C0:lerp(RJC0,Alpha)
  1532.             NK.C0 = NK.C0:lerp(NKC0,Alpha)
  1533.             LH.C0 = LH.C0:lerp(LHC0*CF.A(0,0,M.R(-5)),Alpha)
  1534.             RH.C0 = RH.C0:lerp(RHC0*CF.N(0,1,-1)*CF.A(M.R(-5),0,M.R(5)),Alpha)
  1535.             local LookVector = Mouse.Hit.p
  1536.             Root.CFrame = CF.N(Root.Position,LookVector)
  1537.             if(grown < 250)then
  1538.                 data.Grow(.05)
  1539.                 grown = grown + 1
  1540.             end
  1541.             swait()
  1542.         until not S.UserInputService:IsKeyDown(key)
  1543.     end
  1544.     Sound(data.Circle,340722848,1,1,false,true,true)
  1545.     local hit,pos,norm,dist = CastRay(data.Circle.CFrame.p,Mouse.Hit.p,1024)
  1546.     local part = Part(Effects,MagicVariant.EffectColor or MagicVariant.Color,Enum.Material.Neon,V3.N(dist,data.Mesh.Scale.x/40,data.Mesh.Scale.x/40),CF.N(data.Circle.CFrame.p,pos)*CF.N(0,0,-dist/2)*CF.A(0,M.P/2,0),true,false)
  1547.     Mesh(part,Enum.MeshType.Cylinder)
  1548.     Tween(part,{Color=C3.N(1,1,1)},1,Enum.EasingStyle.Quad,Enum.EasingDirection.Out,0,false)
  1549.     Effect{
  1550.         Effect='ResizeAndFade',
  1551.         Color=MagicVariant.Color,
  1552.         Size=V3.N(data.Mesh.Scale.X/20,data.Mesh.Scale.X/20,data.Mesh.Scale.X/20),
  1553.         Mesh={MeshType=Enum.MeshType.Sphere},
  1554.         CFrame=CF.N(pos),
  1555.         FXSettings={
  1556.             EndSize=V3.N(.05,.05,.05),
  1557.             EndIsIncrement=true
  1558.         }
  1559.     }
  1560.     for i = 1, 5 do
  1561.         local angles = CF.A(M.RRNG(-180,180),M.RRNG(-180,180),M.RRNG(-180,180))
  1562.         Effect{
  1563.             Effect='Fade',
  1564.             Frames=65,
  1565.             Size=V3.N((data.Mesh.Scale.X/20)/2,(data.Mesh.Scale.X/20)/2,data.Mesh.Scale.X/20),
  1566.             CFrame=CF.N(CF.N(pos)*angles*CF.N(0,0,-(data.Mesh.Scale.X/20)).p,pos),
  1567.             Mesh = {MeshType=Enum.MeshType.Sphere},
  1568.             Material=Enum.Material.Neon,
  1569.             Color=MagicVariant.Color,
  1570.             MoveDirection=CF.N(CF.N(pos)*angles*CF.N(0,0,-50).p,pos).p,
  1571.         }  
  1572.     end
  1573.     AOEDamage(pos,data.Mesh.Scale.X/20,15,45,0,'Normal',10,4)
  1574.     coroutine.wrap(function()
  1575.         local frame = (1/30)
  1576.         for i = 1, 30 do
  1577.             part.Transparency = (i/30)
  1578.             swait()
  1579.         end
  1580.         part:destroy()
  1581.     end)()
  1582.     Attack = false
  1583.     NeutralAnims = true
  1584.     Root.Anchored = false
  1585.     data.Destroy()
  1586. end
  1587.  
  1588. function Balls(key)
  1589.     NeutralAnims = false
  1590.     Attack = true
  1591.     Root.Anchored = true
  1592.     local data = MagicCircle{Weld=Torso,Pos=CF.N(0,2,-1),Size=5,Variant=MagicVariant,Time=.5}
  1593.     local IsGrown = false
  1594.     data.Grown:connect(function() IsGrown = true end)
  1595.     repeat swait()
  1596.         local Alpha = .1
  1597.         local idk = M.R(25)
  1598.         LS.C0 = LS.C0:lerp(LSC0*CF.A(M.R(-5),0,M.R(-90)+idk),Alpha)
  1599.         RS.C0 = RS.C0:lerp(RSC0*CF.A(M.R(-5),0,M.R(90)-idk),Alpha)
  1600.         RJ.C0 = RJ.C0:lerp(RJC0,Alpha)
  1601.         NK.C0 = NK.C0:lerp(NKC0,Alpha)
  1602.         LH.C0 = LH.C0:lerp(LHC0*CF.A(0,0,M.R(-5)),Alpha)
  1603.         RH.C0 = RH.C0:lerp(RHC0*CF.N(0,1,-1)*CF.A(M.R(-5),0,M.R(5)),Alpha)
  1604.         local LookVector = Mouse.Hit.p
  1605.         Torso.CFrame = CF.N(Root.Position,LookVector)
  1606.     until IsGrown
  1607.     local projectiles = 5
  1608.     if(S.UserInputService:IsKeyDown(key))then
  1609.         local grown = 0
  1610.         repeat
  1611.             local Alpha = .1
  1612.             local idk = M.R(25)
  1613.             LS.C0 = LS.C0:lerp(LSC0*CF.A(M.R(-5),0,M.R(-90)+idk),Alpha)
  1614.             RS.C0 = RS.C0:lerp(RSC0*CF.A(M.R(-5),0,M.R(90)-idk),Alpha)
  1615.             RJ.C0 = RJ.C0:lerp(RJC0,Alpha)
  1616.             NK.C0 = NK.C0:lerp(NKC0,Alpha)
  1617.             LH.C0 = LH.C0:lerp(LHC0*CF.A(0,0,M.R(-5)),Alpha)
  1618.             RH.C0 = RH.C0:lerp(RHC0*CF.N(0,1,-1)*CF.A(M.R(-5),0,M.R(5)),Alpha)
  1619.             local LookVector = Mouse.Hit.p
  1620.             Root.CFrame = CF.N(Root.Position,LookVector)
  1621.             if(grown < 250)then
  1622.                 data.Grow(.05)
  1623.                 grown = grown + 1
  1624.                 projectiles = projectiles + .05
  1625.             end
  1626.             swait()
  1627.         until not S.UserInputService:IsKeyDown(key)
  1628.     end
  1629.     for i = 1, math.floor(projectiles) do
  1630.         data.Grow(-math.floor(projectiles)/20)
  1631.         local LookVector = Mouse.Hit.p
  1632.         Root.CFrame = CF.N(Root.Position,LookVector)
  1633.         ShootBullet{Shape='Ball',Frames=160,Origin=data.Circle.CFrame,Speed=10}
  1634.         swait(1)
  1635.     end
  1636.    
  1637.     Attack = false
  1638.     NeutralAnims = true
  1639.     Root.Anchored = false
  1640.     data.Destroy()
  1641. end
  1642.  
  1643. function DLaser(key)
  1644.     NeutralAnims = false
  1645.     Attack = true
  1646.     Root.Anchored = true
  1647.     local data1 = MagicCircle{Weld=Torso,Pos=CF.N(-5,5,2),Size=5,Variant=MagicVariant,Time=.5}
  1648.     local data2 = MagicCircle{Weld=Torso,Pos=CF.N(5,5,2),Size=5,Variant=MagicVariant,Time=.5}
  1649.     local IsGrown = false
  1650.     data1.Grown:connect(function() IsGrown = true end)
  1651.     repeat swait()
  1652.         local Alpha = .1
  1653.         local idk = M.R(25)
  1654.         LS.C0 = LS.C0:lerp(LSC0*CF.A(M.R(-5),0,M.R(-90)+idk),Alpha)
  1655.         RS.C0 = RS.C0:lerp(RSC0*CF.A(M.R(-5),0,M.R(90)-idk),Alpha)
  1656.         RJ.C0 = RJ.C0:lerp(RJC0,Alpha)
  1657.         NK.C0 = NK.C0:lerp(NKC0,Alpha)
  1658.         LH.C0 = LH.C0:lerp(LHC0*CF.A(0,0,M.R(-5)),Alpha)
  1659.         RH.C0 = RH.C0:lerp(RHC0*CF.N(0,1,-1)*CF.A(M.R(-5),0,M.R(5)),Alpha)
  1660.         local LookVector = Mouse.Hit.p
  1661.         Torso.CFrame = CF.N(Root.Position,LookVector)
  1662.     until IsGrown
  1663.     if(S.UserInputService:IsKeyDown(key))then
  1664.         local grown = 0
  1665.         repeat
  1666.             local Alpha = .1
  1667.             local idk = M.R(25)
  1668.             LS.C0 = LS.C0:lerp(LSC0*CF.A(M.R(-5),0,M.R(-90)+idk),Alpha)
  1669.             RS.C0 = RS.C0:lerp(RSC0*CF.A(M.R(-5),0,M.R(90)-idk),Alpha)
  1670.             RJ.C0 = RJ.C0:lerp(RJC0,Alpha)
  1671.             NK.C0 = NK.C0:lerp(NKC0,Alpha)
  1672.             LH.C0 = LH.C0:lerp(LHC0*CF.A(0,0,M.R(-5)),Alpha)
  1673.             RH.C0 = RH.C0:lerp(RHC0*CF.N(0,1,-1)*CF.A(M.R(-5),0,M.R(5)),Alpha)
  1674.             local LookVector = Mouse.Hit.p
  1675.             Root.CFrame = CF.N(Root.Position,LookVector)
  1676.             if(grown < 250)then
  1677.                 data1.Grow(.05)
  1678.                 data2.Grow(.05)
  1679.                 grown = grown + 1
  1680.             end
  1681.             swait()
  1682.         until not S.UserInputService:IsKeyDown(key)
  1683.     end
  1684.     Sound(data1.Circle,340722848,1,1,false,true,true)
  1685.     Sound(data2.Circle,340722848,1,1,false,true,true)
  1686.     local hit,pos,norm,dist = CastRay(data1.Circle.CFrame.p,Mouse.Hit.p,1024)
  1687.     local part1 = Part(Effects,MagicVariant.EffectColor or MagicVariant.Color,Enum.Material.Neon,V3.N(dist,data1.Mesh.Scale.x/40,data1.Mesh.Scale.x/40),CF.N(data1.Circle.CFrame.p,pos)*CF.N(0,0,-dist/2)*CF.A(0,M.P/2,0),true,false)
  1688.     Mesh(part1,Enum.MeshType.Cylinder)
  1689.    
  1690.    
  1691.     local part2 = Part(Effects,MagicVariant.EffectColor or MagicVariant.Color,Enum.Material.Neon,V3.N(dist,data2.Mesh.Scale.x/40,data2.Mesh.Scale.x/40),CF.N(data2.Circle.CFrame.p,pos)*CF.N(0,0,-dist/2)*CF.A(0,M.P/2,0),true,false)
  1692.     Mesh(part2,Enum.MeshType.Cylinder)
  1693.     Tween(part1,{Color=C3.N(1,1,1)},1,Enum.EasingStyle.Quad,Enum.EasingDirection.Out,0,false)
  1694.     Tween(part2,{Color=C3.N(1,1,1)},1,Enum.EasingStyle.Quad,Enum.EasingDirection.Out,0,false)
  1695.     Effect{
  1696.         Effect='ResizeAndFade',
  1697.         Color=MagicVariant.Color,
  1698.         Size=V3.N(data1.Mesh.Scale.X/20,data1.Mesh.Scale.X/20,data1.Mesh.Scale.X/20),
  1699.         Mesh={MeshType=Enum.MeshType.Sphere},
  1700.         CFrame=CF.N(pos),
  1701.         FXSettings={
  1702.             EndSize=V3.N(.05,.05,.05),
  1703.             EndIsIncrement=true
  1704.         }
  1705.     }
  1706.     for i = 1, 5 do
  1707.         local angles = CF.A(M.RRNG(-180,180),M.RRNG(-180,180),M.RRNG(-180,180))
  1708.         Effect{
  1709.             Effect='Fade',
  1710.             Frames=65,
  1711.             Size=V3.N((data1.Mesh.Scale.X/20)/2,(data1.Mesh.Scale.X/20)/2,data1.Mesh.Scale.X/20),
  1712.             CFrame=CF.N(CF.N(pos)*angles*CF.N(0,0,-(data1.Mesh.Scale.X/20)).p,pos),
  1713.             Mesh = {MeshType=Enum.MeshType.Sphere},
  1714.             Material=Enum.Material.Neon,
  1715.             Color=MagicVariant.Color,
  1716.             MoveDirection=CF.N(CF.N(pos)*angles*CF.N(0,0,-50).p,pos).p,
  1717.         }  
  1718.     end
  1719.     AOEDamage(pos,data1.Mesh.Scale.X/20,15,45,0,'Normal',10,4)
  1720.     AOEDamage(pos,data2.Mesh.Scale.X/20,15,45,0,'Normal',10,4)
  1721.     coroutine.wrap(function()
  1722.         local frame = (1/30)
  1723.         for i = 1, 30 do
  1724.             part1.Transparency = (i/30)
  1725.             part2.Transparency = (i/30)
  1726.             swait()
  1727.         end
  1728.         part1:destroy()
  1729.         part2:destroy()
  1730.     end)()
  1731.     Attack = false
  1732.     NeutralAnims = true
  1733.     Root.Anchored = false
  1734.     data1.Destroy()
  1735.     data2.Destroy()
  1736. end
  1737.  
  1738.  
  1739. function BLaser(key)
  1740.     NeutralAnims = false
  1741.     Attack = true
  1742.     Root.Anchored = true
  1743.     local data = MagicCircle{Weld=Torso,Pos=CF.N(0,10,10),Size=15,Variant=MagicVariant,Time=.75}
  1744.     local IsGrown = false
  1745.     data.Grown:connect(function() IsGrown = true end)
  1746.     repeat swait()
  1747.         local Alpha = .1
  1748.         local idk = M.R(25)
  1749.         LS.C0 = LS.C0:lerp(LSC0*CF.A(M.R(-5),0,M.R(-90)+idk),Alpha)
  1750.         RS.C0 = RS.C0:lerp(RSC0*CF.A(M.R(-5),0,M.R(90)-idk),Alpha)
  1751.         RJ.C0 = RJ.C0:lerp(RJC0,Alpha)
  1752.         NK.C0 = NK.C0:lerp(NKC0,Alpha)
  1753.         LH.C0 = LH.C0:lerp(LHC0*CF.A(0,0,M.R(-5)),Alpha)
  1754.         RH.C0 = RH.C0:lerp(RHC0*CF.N(0,1,-1)*CF.A(M.R(-5),0,M.R(5)),Alpha)
  1755.         local LookVector = Mouse.Hit.p
  1756.         Torso.CFrame = CF.N(Root.Position,LookVector)
  1757.     until IsGrown
  1758.     if(S.UserInputService:IsKeyDown(key))then
  1759.         local grown = 0
  1760.         repeat
  1761.             local Alpha = .1
  1762.             local idk = M.R(25)
  1763.             LS.C0 = LS.C0:lerp(LSC0*CF.A(M.R(-5),0,M.R(-90)+idk),Alpha)
  1764.             RS.C0 = RS.C0:lerp(RSC0*CF.A(M.R(-5),0,M.R(90)-idk),Alpha)
  1765.             RJ.C0 = RJ.C0:lerp(RJC0,Alpha)
  1766.             NK.C0 = NK.C0:lerp(NKC0,Alpha)
  1767.             LH.C0 = LH.C0:lerp(LHC0*CF.A(0,0,M.R(-5)),Alpha)
  1768.             RH.C0 = RH.C0:lerp(RHC0*CF.N(0,1,-1)*CF.A(M.R(-5),0,M.R(5)),Alpha)
  1769.             local LookVector = Mouse.Hit.p
  1770.             Root.CFrame = CF.N(Root.Position,LookVector)
  1771.             swait()
  1772.         until not S.UserInputService:IsKeyDown(key)
  1773.     end
  1774.    
  1775.     local hit,pos,norm,dist = CastRay(data.Circle.CFrame.p,Mouse.Hit.p,1024)
  1776.     local part = Part(Effects,MagicVariant.EffectColor or MagicVariant.Color,Enum.Material.Neon,V3.N(dist,data.Mesh.Scale.x/40,data.Mesh.Scale.x/40),CF.N(data.Circle.CFrame.p,pos)*CF.N(0,0,-dist/2)*CF.A(0,M.P/2,0),true,false)
  1777.     Mesh(part,Enum.MeshType.Cylinder)
  1778.     Tween(part,{Color=C3.N(1,1,1)},1,Enum.EasingStyle.Quad,Enum.EasingDirection.Out,0,false)
  1779.     local aa = data.Circle:Clone();
  1780.     aa.Parent = Effects
  1781.     aa.Anchored = true
  1782.     local blast = Sound(aa,334702766,1,5,false,true,true)
  1783.     data.Circle:destroy()
  1784.     if(not blast.IsLoaded)then repeat swait() until blast.IsLoaded end
  1785.     Effect{
  1786.         Effect='ResizeAndFade',
  1787.         Color=MagicVariant.Color,
  1788.         Size=V3.N(data.Mesh.Scale.X/20,data.Mesh.Scale.X/20,data.Mesh.Scale.X/20),
  1789.         Mesh={MeshType=Enum.MeshType.Sphere},
  1790.         CFrame=CF.N(pos),
  1791.         Sound=blast,
  1792.         FXSettings={
  1793.             EndSize=V3.N(.05,.05,.05),
  1794.             EndIsIncrement=true
  1795.         }
  1796.     }
  1797.     for i = 1, 5 do
  1798.         local angles = CF.A(M.RRNG(-180,180),M.RRNG(-180,180),M.RRNG(-180,180))
  1799.         Effect{
  1800.             Effect='Fade',
  1801.             Frames=65,
  1802.             Sound=blast,
  1803.             Size=V3.N((data.Mesh.Scale.X/20)/2,(data.Mesh.Scale.X/20)/2,data.Mesh.Scale.X/20),
  1804.             CFrame=CF.N(CF.N(pos)*angles*CF.N(0,0,-(data.Mesh.Scale.X/20)).p,pos),
  1805.             Mesh = {MeshType=Enum.MeshType.Sphere},
  1806.             Material=Enum.Material.Neon,
  1807.             Color=MagicVariant.Color,
  1808.             MoveDirection=CF.N(CF.N(pos)*angles*CF.N(0,0,-50).p,pos).p,
  1809.         }  
  1810.     end
  1811.     AOEDamage(pos,data.Mesh.Scale.X/20,45,75,0,'Normal',10,4)
  1812.     coroutine.wrap(function()
  1813.         for i = 1, (blast.TimeLength*Frame_Speed) do
  1814.             part.Transparency = (i/(blast.TimeLength*Frame_Speed))
  1815.             for _,v in next, aa:children() do if v:IsA'Decal' then v.Transparency = (i/(blast.TimeLength*Frame_Speed)) end end
  1816.             swait()
  1817.         end
  1818.         aa:destroy()
  1819.         part:destroy()
  1820.     end)()
  1821.    
  1822.     Attack = false
  1823.     NeutralAnims = true
  1824.     Root.Anchored = false
  1825.     Root.Velocity = Mouse.Hit.lookVector*-125
  1826. end
  1827.  
  1828. function Skill1()
  1829.     Laser(Enum.KeyCode.Q)
  1830. end
  1831.  
  1832. function Skill2()
  1833.     DLaser(Enum.KeyCode.Z)
  1834. end
  1835.  
  1836. function Skill3()
  1837.     BLaser(Enum.KeyCode.X)
  1838. end
  1839.  
  1840. --// Wrap it all up \\--
  1841.  
  1842. Mouse.KeyDown:connect(function(k)
  1843.     if(Attack)then return end
  1844.     if(k == 'q')then Skill1() end
  1845.     if(k == 'e')then Skill2() end
  1846.     if(k == 'r')then Skill3() end
  1847. end)
  1848.  
  1849. Plr.Chatted:connect(function(m)
  1850.    
  1851.     if(m:sub(1,3) == '/e ')then
  1852.         local msg = m:sub(4)
  1853.         --emote commands (gotta do)
  1854.     end
  1855. end)
  1856. while true do
  1857.     swait()
  1858.     Sine = Sine + Change
  1859.  
  1860.     local hitfloor,posfloor = workspace:FindPartOnRay(Ray.new(Root.CFrame.p,((CFrame.new(Root.Position,Root.Position - Vector3.new(0,1,0))).lookVector).unit * (4)), Char)
  1861.    
  1862.     local Walking = (math.abs(Root.Velocity.x) > 1 or math.abs(Root.Velocity.z) > 1)
  1863.     local State = (Hum.PlatformStand and 'Paralyzed' or Hum.Sit and 'Sit' or not hitfloor and Root.Velocity.y < -1 and "Fall" or not hitfloor and Root.Velocity.y > 1 and "Jump" or hitfloor and Walking and (Hum.WalkSpeed > 24 and "Run" or "Walk") or hitfloor and "Idle")
  1864.     if(not Effects or not Effects.Parent)then
  1865.         Effects = IN("Model",Char)
  1866.         Effects.Name = "Effects"
  1867.     end                                                                                                                                                                                                                                                                                                                                                                                                            
  1868.     if(State == 'Run')then
  1869.         local wsVal = 20 / (Hum.WalkSpeed/16)
  1870.         local Alpha = math.min(.2 * (Hum.WalkSpeed/16),1)
  1871.         Change = 3
  1872.         RH.C1 = RH.C1:lerp(CF.N(0,1,0)*CF.N(0,0-.2*M.C(Sine/wsVal),0+.4*M.C(Sine/wsVal))*CF.A(M.R(15+25*M.C(Sine/wsVal))+-M.S(Sine/wsVal),0,0),Alpha)
  1873.         LH.C1 = LH.C1:lerp(CF.N(0,1,0)*CF.N(0,0+.2*M.C(Sine/wsVal),0-.4*M.C(Sine/wsVal))*CF.A(M.R(15-25*M.C(Sine/wsVal))+M.S(Sine/wsVal),0,0),Alpha)   
  1874.     elseif(State == 'Walk')then
  1875.         local wsVal = 20 / (Hum.WalkSpeed/16)
  1876.         local Alpha = math.min(.3 * (Hum.WalkSpeed/8),1)
  1877.         Change = 3
  1878.         RH.C1 = RH.C1:lerp(CF.N(0,1,0)*CF.N(0,0-.5*M.C(Sine/wsVal)/2,0+.6*M.C(Sine/wsVal)/2)*CF.A(M.R(15-2*M.C(Sine/wsVal))+-M.S(Sine/wsVal)/2.5,0,0),Alpha)
  1879.         LH.C1 = LH.C1:lerp(CF.N(0,1,0)*CF.N(0,0+.5*M.C(Sine/wsVal)/2,0-.6*M.C(Sine/wsVal)/2)*CF.A(M.R(15+2*M.C(Sine/wsVal))+M.S(Sine/wsVal)/2.5,0,0),Alpha)
  1880.     else
  1881.         RH.C1 = RH.C1:lerp(CF.N(0,1,0),.2)
  1882.         LH.C1 = LH.C1:lerp(CF.N(0,1,0),.2)
  1883.     end
  1884.  
  1885.     Hum.WalkSpeed = WalkSpeed
  1886.    
  1887.     if(NeutralAnims)then   
  1888.         if(State == 'Idle')then
  1889.             local Alpha = .1
  1890.             Change = .75
  1891.             RJ.C0 = RJ.C0:lerp(RJC0*CF.N(0+.2*M.C(Sine/12),.2*M.C(Sine/6),0)*CF.A(M.R(-5+5*M.C(Sine/12)),0,0),Alpha)
  1892.             NK.C0 = NK.C0:lerp(NKC0*CF.A(M.R(-5+5*M.C(Sine/12)),0,0),Alpha)
  1893.             LS.C0 = LS.C0:lerp(LSC0*CF.N(.25,0,0)*CF.A(M.R(-45),0,M.R(45+5*M.C(Sine/12))),Alpha)
  1894.             RS.C0 = RS.C0:lerp(RSC0*CF.N(-.25,0,0)*CF.A(M.R(-45),0,M.R(-45-5*M.C(Sine/12))),Alpha)
  1895.             LH.C0 = LH.C0:lerp(LHC0*CF.N(0-.2*M.C(Sine/12),-.2*M.C(Sine/6),0)*CF.A(M.R(5-5*M.C(Sine/12)),M.R(10),0),Alpha)
  1896.             RH.C0 = RH.C0:lerp(RHC0*CF.N(0-.2*M.C(Sine/12),-.2*M.C(Sine/6),0)*CF.A(M.R(5-5*M.C(Sine/12)),M.R(-10),0),Alpha)
  1897.             -- idle
  1898.         elseif(State == 'Run')then
  1899.             local wsVal = 20 / (Hum.WalkSpeed/16)
  1900.             local Alpha = math.min(.2 * (Hum.WalkSpeed/16),1)
  1901.             RJ.C0 = RJ.C0:lerp(CF.N(0,0-.1*M.C(Sine/(wsVal/2)),0)*CF.A(M.R(-15+2.5*M.C(Sine/(wsVal/2))),M.R(8*M.C(Sine/wsVal)),0),Alpha)
  1902.             NK.C0 = NK.C0:lerp(NKC0,Alpha)
  1903.             LS.C0 = LS.C0:lerp(LSC0*CF.N(0,0,0-.3*M.S(Sine/wsVal))*CF.A(M.R(0+45*M.S(Sine/wsVal)),0,M.R(-5)),Alpha)
  1904.             RS.C0 = RS.C0:lerp(RSC0*CF.N(0,0,0+.3*M.S(Sine/wsVal))*CF.A(M.R(0-45*M.S(Sine/wsVal)),0,M.R(5)),Alpha)
  1905.             LH.C0 = LH.C0:lerp(LHC0*CF.N(0,0+.1*M.C(Sine/(wsVal/2)),0)*CF.A(0,-M.R(4*M.C(Sine/wsVal)),0),Alpha)
  1906.             RH.C0 = RH.C0:lerp(RHC0*CF.N(0,0+.1*M.C(Sine/(wsVal/2)),0)*CF.A(0,-M.R(4*M.C(Sine/wsVal)),0),Alpha)
  1907.         elseif(State == 'Walk')then
  1908.             local wsVal = 20 / (Hum.WalkSpeed/16)
  1909.             local Alpha = math.min(.3 * (Hum.WalkSpeed/16),1)
  1910.             RJ.C0 = RJ.C0:lerp(CF.N(0,0-.1*M.C(Sine/(wsVal/2)),0)*CF.A(M.R(-5-2.5*M.C(Sine/(wsVal/2))),M.R(8*M.C(Sine/wsVal)),0),Alpha)
  1911.             NK.C0 = NK.C0:lerp(NKC0,Alpha)
  1912.             LS.C0 = LS.C0:lerp(LSC0*CF.N(0,0,-.22*M.C(Sine/wsVal))*CF.A(M.R(37*M.C(Sine/wsVal)),0,M.R(-5)),Alpha)
  1913.             RS.C0 = RS.C0:lerp(RSC0*CF.N(0,0,.22*M.C(Sine/wsVal))*CF.A(M.R(-37*M.C(Sine/wsVal)),0,M.R(5)),Alpha)
  1914.             LH.C0 = LH.C0:lerp(LHC0*CF.N(0,0+.1*M.C(Sine/(wsVal/2)),0)*CF.A(0,-M.R(4*M.C(Sine/wsVal)),0),Alpha)
  1915.             RH.C0 = RH.C0:lerp(RHC0*CF.N(0,0+.1*M.C(Sine/(wsVal/2)),0)*CF.A(0,-M.R(4*M.C(Sine/wsVal)),0),Alpha)
  1916.         elseif(State == 'Jump')then
  1917.             local Alpha = .1
  1918.             local idk = math.min(math.max(Root.Velocity.Y/50,-M.R(90)),M.R(90))
  1919.             LS.C0 = LS.C0:lerp(LSC0*CF.A(M.R(-5),0,M.R(-90)),Alpha)
  1920.             RS.C0 = RS.C0:lerp(RSC0*CF.A(M.R(-5),0,M.R(90)),Alpha)
  1921.             RJ.C0 = RJ.C0:lerp(RJC0*CF.A(math.min(math.max(Root.Velocity.Y/100,-M.R(45)),M.R(45)),0,0),Alpha)
  1922.             NK.C0 = NK.C0:lerp(NKC0*CF.A(math.min(math.max(Root.Velocity.Y/100,-M.R(45)),M.R(45)),0,0),Alpha)
  1923.             LH.C0 = LH.C0:lerp(LHC0*CF.A(0,0,M.R(-5)),Alpha)
  1924.             RH.C0 = RH.C0:lerp(RHC0*CF.N(0,1,-1)*CF.A(M.R(-5),0,M.R(5)),Alpha)
  1925.         elseif(State == 'Fall')then
  1926.             local Alpha = .1
  1927.             local idk = math.min(math.max(Root.Velocity.Y/50,-M.R(90)),M.R(90))
  1928.             LS.C0 = LS.C0:lerp(LSC0*CF.A(M.R(-5),0,M.R(-90)+idk),Alpha)
  1929.             RS.C0 = RS.C0:lerp(RSC0*CF.A(M.R(-5),0,M.R(90)-idk),Alpha)
  1930.             RJ.C0 = RJ.C0:lerp(RJC0*CF.A(math.min(math.max(Root.Velocity.Y/100,-M.R(45)),M.R(45)),0,0),Alpha)
  1931.             NK.C0 = NK.C0:lerp(NKC0*CF.A(math.min(math.max(Root.Velocity.Y/100,-M.R(45)),M.R(45)),0,0),Alpha)
  1932.             LH.C0 = LH.C0:lerp(LHC0*CF.A(0,0,M.R(-5)),Alpha)
  1933.             RH.C0 = RH.C0:lerp(RHC0*CF.N(0,1,-1)*CF.A(M.R(-5),0,M.R(5)),Alpha)
  1934.         elseif(State == 'Paralyzed')then
  1935.             -- paralyzed
  1936.         elseif(State == 'Sit')then
  1937.             -- sit
  1938.         end
  1939.     end
  1940.    
  1941. end
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
Top