Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --// Animation Base Created by SavageMunkey
- script.Name = 'gtfoh >_>'
- wait(.05)
- local Module_Id = 0 --// Not required, but I use modules somtimes to load union'd models
- local Player = game:service'Players'.LocalPlayer
- repeat wait() until Player.Character
- local Character = Player.Character
- local Char, Plr = Character, Player
- local Mouse = Player:GetMouse()
- local Landed = true
- local Walking = true
- --// Settings
- local CustomClothes = false
- local Pants, Shirt = 'rbxassetid://99312229','rbxassetid://99312212'
- local CustomColor = 'Eggplant'
- local CustomMaterial = 'Slate'
- local NotifyKeyPresses = false
- local CanRun = false
- --// Limbs and what not
- local Torso = Char:WaitForChild'Torso'
- local Head = Char:WaitForChild'Head'
- local Left_Arm = Char:WaitForChild'Left Arm'
- local Right_Arm = Char:WaitForChild'Right Arm'
- local Left_Leg = Char:WaitForChild'Left Leg'
- local Right_Leg = Char:WaitForChild'Right Leg'
- local HumanoidRootPart = Char:WaitForChild'HumanoidRootPart'
- local Humanoid = Char:WaitForChild'Humanoid'
- --// Debounces
- local DebounceKeyDown, DebounceState = false, false
- local DebounceAFKAnimations = false
- --// Other Things
- local State, LastState, Mode = 'Idle', 'Normal'
- Mode=LastState
- local AFKAnimSequenceCount,MaxSequenceCount = 0, 200
- --// Abbreiviations
- local rbx = 'rbxassetid://'
- local char,Char,plr,Plr = Character, Character, Player, Player
- local mouse,ms = Mouse, Mouse
- local cam,camera,Camera,Cam=workspace.CurrentCamera,workspace.CurrentCamera,workspace.CurrentCamera,workspace.CurrentCamera
- local dkd, debkd = DebounceKeyDown, DebounceKeyDown
- local dst, debst, ds, debs = DebounceState,DebounceState,DebounceState,DebounceState
- local daa,dafk,debafk = DebounceAFKAnimations,DebounceAFKAnimations,DebounceAFKAnimations
- local rs = game:service'RunService'
- local lrs = rs.Stepped
- local srs = rs.Heartbeat
- local lleg,rleg = Left_Leg, Right_Leg
- local larm,rarm = Left_Arm, Right_Arm
- local hed,torr,torso = Head, Torso, Torso
- local hum, root = Humanoid, HumanoidRootPart
- local vec3,vec2 = Vector3.new, Vector2.new
- local sin, cos, atan, rad, rand, rands = math.sin, math.cos, math.atan, math.rad, math.random, math.randomseed
- local cf, ang, eu = CFrame.new, CFrame.Angles, CFrame.fromEulerAnglesXYZ
- local bc,bcr,c3 = BrickColor.new,BrickColor.Random,Color3.new
- --// Removals and error prevention
- if hed:FindFirstChild'Running' then
- hed:WaitForChild'Running'.Volume = 0
- end
- if Char:FindFirstChild'Animate' then
- local Anim = Char:WaitForChild'Animate'
- local Anim_2 = Anim:Clone()
- Anim_2.Disabled = true
- Anim_2.Parent = Char
- Anim.Disabled = true
- Anim_2.Disabled = false
- end
- if Char:FindFirstChild'Health' then
- ypcall(game.Destroy, Char.Health)
- end
- if CustomClothes then
- if Char:FindFirstChild'Shirt' then
- Char.Shirt.ShirtTemplate=Shirt
- else
- Instance.new('Shirt',Character).ShirtTemplate=Shirt
- end
- if Char:FindFirstChild'Pants' then
- Char.Pants.PantsTemplate=Pants
- else
- Instance.new('Pants',Character).PantsTemplate=Pants
- end
- end
- --// Base Functions
- Weld = function(to, from, c1)
- local New_Weld = Instance.new('Weld', to)
- New_Weld.Part0 = from
- New_Weld.Part1 = to
- New_Weld.C1 = c1
- return New_Weld
- end
- clerp = function(c1,c2,al)
- local com1 = {c1.X,c1.Y,c1.Z,c1:toEulerAnglesXYZ()}
- local com2 = {c2.X,c2.Y,c2.Z,c2:toEulerAnglesXYZ()}
- for i,v in pairs(com1) do
- com1[i] = v+(com2[i]-v)*al
- end
- return cf(com1[1],com1[2],com1[3]) * ang(select(4,unpack(com1)))--]]
- end
- lerp = function(c1,c2,al)
- return c1:lerp(c2,al)
- end
- snd = function(Id, Parent)
- local Sound = Instance.new('Sound')
- Sound.Pitch = 1
- Sound.Volume = .5
- Sound.Looped = false
- Sound.SoundId=rbx..Id
- if Parent:IsA'BasePart' then
- local p=Instance.new('Part',Character)
- p.Anchored=true
- p.Transparency=1
- p.CanCollide=false
- p.Size=vec3(.2,.2,.2)
- p.CFrame=Parent.CFrame
- Sound.Parent = p
- Parent.Changed:connect(function()
- if Parent.Parent == nil then
- delay(4,function()
- p:Destroy()
- Sound:Destroy()
- end)
- end
- end)
- else
- Sound.Parent = Head
- end
- return Sound
- end
- FacePos = function(pos)
- local torso, torsoPos = torso, HumanoidRootPart.CFrame.p
- local torso = Char:FindFirstChild'Torso'
- if pos == 'mouse' then
- pos = CFrame.new(torsoPos,Vector3.new(mouse.Hit.X,torsoPos.Y,mouse.Hit.Z))
- elseif not pos or pos==nil then
- pos = CFrame.new(torsoPos,Vector3.new(mouse.Hit.X,torsoPos.Y,mouse.Hit.Z))
- else
- pos = CFrame.new(torsoPos, pos.p)
- end
- if torso then
- HumanoidRootPart.CFrame = lerp(HumanoidRootPart.CFrame,pos,.3)
- end
- end
- local sine, change = 0, 1
- --// Model Optional
- --// Welds
- local llw = Weld(Left_Leg, Torso, cf(.5,2,0))
- local rlw = Weld(Right_Leg, Torso, cf(-.5,2,0))
- local raw = Weld(Right_Arm, Torso, cf(-1.5,0,0))
- local law = Weld(Left_Arm, Torso, cf(1.5,0,0))
- local torw = Weld(Torso, HumanoidRootPart, cf(0,0,0))
- local hedw = Weld(Head, Torso, cf(0,-1.5,0))
- --[[ State Example: Arms Out
- raw.C0 = clerp(raw.C0, cf(0,.5,-.5)*ang(rad(90),0,0),.1)
- law.C0 = clerp(law.C0, cf(0,.5,-.5)*ang(rad(90),0,0),.1)
- --]]
- local keyz={};
- local Used = {
- Executed={};
- Failed={};
- };
- local BindKey = function(Name, Key, Function)
- local keydown
- keyz[Key:upper()]=Name
- keydown = mouse.KeyDown:connect(function(key)
- if Key:lower() == key:lower() then
- local detect=dkd
- if dkd then
- table.insert(Used.Failed, {Name, Key, Function})
- elseif not dkd and Walking then
- if NotifyKeyPresses then
- warn('executed('..Name..', "'..tostring(Key:upper())..'")')
- end
- Function(Name, Key)
- if NotifyKeyPresses then
- warn('ended('..Name..')')
- end
- table.insert(Used.Executed, {Name, Key, Function})
- elseif Walking then
- warn('You must Walking enabled to use this key')
- end
- end
- end)
- end
- local pitches = {}
- for i = -.1,.1,.01 do table.insert(pitches,1.5+i) end
- function summonsound()
- local sfx = {588697230};
- local s = snd(sfx[rand(1,#sfx)],root)
- s.Pitch = pitches[rand(1,#pitches)]
- game.Debris:AddItem(s,2)
- s:Play()
- return s
- end
- --[[
- BindKey('Attack Name', 'Key{Not case sensative}', function(AttackName, Key)
- ds,dkd = true,true
- for i = 0,1,.05 do
- local animspd = .1
- local Right_Arm_ = cf(0,0,0)
- local Left_Arm_ = cf(0,0,0)
- local Right_Leg_ = cf(0,0,0)
- local Left_Leg_ = cf(0,0,0)
- local Head_ = cf(0,0,0)
- local Torso_ = cf(0,0,0)
- torw.C0 = clerp(torw.C0, cf(0,0,0)*Torso_*ang(0,0,0),animspd)
- hedw.C0 = clerp(hedw.C0, cf(0,0,0)*Head_*ang(0,0,0),animspd)
- law.C0 = clerp(law.C0, cf(0,0,0)*Left_Arm_*ang(0,0,0),animspd)
- raw.C0 = clerp(raw.C0, cf(0,0,0)*Right_Arm_*ang(0,0,0),animspd)
- rlw.C0 = clerp(rlw.C0, cf(0,0,0)*Right_Leg_*ang(0,0,0),animspd)
- llw.C0 = clerp(llw.C0, cf(0,0,0)*Left_Leg_*ang(0,0,0),animspd)
- lrs:wait()
- end
- for i = 0,1,.05 do
- local animspd = .1
- local Right_Arm_ = cf(0,0,0)
- local Left_Arm_ = cf(0,0,0)
- local Right_Leg_ = cf(0,0,0)
- local Left_Leg_ = cf(0,0,0)
- local Head_ = cf(0,0,0)
- local Torso_ = cf(0,0,0)
- torw.C0 = clerp(torw.C0, cf(0,0,0)*Torso_*ang(0,0,0),animspd)
- hedw.C0 = clerp(hedw.C0, cf(0,0,0)*Head_*ang(0,0,0),animspd)
- law.C0 = clerp(law.C0, cf(0,0,0)*Left_Arm_*ang(0,0,0),animspd)
- raw.C0 = clerp(raw.C0, cf(0,0,0)*Right_Arm_*ang(0,0,0),animspd)
- rlw.C0 = clerp(rlw.C0, cf(0,0,0)*Right_Leg_*ang(0,0,0),animspd)
- llw.C0 = clerp(llw.C0, cf(0,0,0)*Left_Leg_*ang(0,0,0),animspd)
- lrs:wait()
- end
- ds,dkd = false,false
- end)
- --]]
- function rainb(hue)
- local section = hue % 1 * 3
- local secondary = 0.5 * math.pi * (section % 1)
- if section < 1 then
- return c3(1, 1 - cos(secondary), 1 - sin(secondary))
- elseif section < 2 then
- return c3(1 - sin(secondary), 1, 1 - cos(secondary))
- else
- return c3(1 - cos(secondary), 1 - sin(secondary), 1)
- end
- end
- showDmg = function(To, From, Txt, Others)
- local bc,c3=BrickColor.new,Color3.new
- local vec3,cf=Vector3.new,CFrame.new
- local rand=math.random
- local n = 2
- local lrs=game:service'RunService'.Stepped
- local Color = CustomColor
- local Clr_Raw = Color
- if Clr == nil then Clr = 'Pearl' end
- Clr = bc(Color).Color
- local Pert = Instance.new('Part', Character)
- Pert.Size = vec3(.2,.2,.2)
- Pert.Transparency = 1
- Pert.CanCollide = false
- Pert.Anchored = true
- Pert.CFrame = To:FindFirstChild'Head'.CFrame * cf(rand(-n,n),n,rand(-n,n))
- Pert.BrickColor = bc('Black')
- local Rod = nil
- if (Others.Rod ~= nil and Others.Rod == true) then
- Rod = Instance.new('Part', Character)
- local to,from = Pert.CFrame.p, From:WaitForChild'HumanoidRootPart'.CFrame.p
- local dist = (to-from).magnitude
- Rod.Size = vec3(.2,.2,dist)
- Instance.new('BlockMesh',Rod).Scale=vec3(.1,.1,1)
- Rod.CFrame = cf(to,from)*cf(0,0,-dist/2)
- Rod.Transparency = .5 or Rod.RodTrans
- Rod.CanCollide = false
- Rod.Anchored = true
- Rod.BrickColor = bc(Clr_Raw)
- end
- local Gui = Instance.new('BillboardGui',Pert)
- Gui.Adornee = Pert
- local n2 = 10
- Gui.Size = UDim2.new(n2,0,n2,0)
- local TextL = Instance.new('TextLabel', Gui)
- local r,g,b = Clr.r,Clr.g,Clr.b
- local clr = c3(r,g,b)
- TextL.BackgroundTransparency = 1
- TextL.Font = 'SciFi'
- TextL.Size = UDim2.new(1,0,1,0)
- TextL.TextTransparency = .1
- TextL.TextStrokeTransparency = .2
- TextL.TextStrokeColor3 = clr
- TextL.Position = UDim2.new(0,0,0,0)
- Txt=tostring(Txt):upper()
- if string.find(Txt:lower(),'critical') or (Others.Crit ~= nil and Others.Crit == true)then
- Txt='(CRITICAL) // '..Txt
- end
- TextL.Text=Txt
- TextL.TextScaled = false
- TextL.FontSize = 'Size18'
- TextL.TextColor3 = Color3.new(1,1,1)
- local sp = Pert.CFrame*cf(rand(n,n*2),rand(n,n*2),rand(n,n*2)) --Pert.CFrame * cf(rand(-n,n),n,rand(-n,n))
- delay(.1,function()
- repeat lrs:wait()
- TextL.TextTransparency=TextL.TextTransparency+.005
- TextL.TextStrokeTransparency=TextL.TextStrokeTransparency+.005
- if Rod ~= nil then
- Rod.Transparency = Rod.Transparency + .0025
- end
- Pert.CFrame = Pert.CFrame:lerp(sp,.01)
- clr = c3(r,g,b)
- if Rod ~= nil then
- local to,from = Pert.CFrame.p, From:WaitForChild'HumanoidRootPart'.CFrame.p
- local dist = (to-from).magnitude
- Rod.Size = vec3(.2,.2,dist)
- Rod.CFrame = cf(to,from)*cf(0,0,-dist/2)
- end
- --TextL.TextColor3 = clr
- until TextL.TextTransparency>=1
- Pert:Destroy()
- if Rod ~= nil then
- Rod:Destroy()
- end
- end)
- end
- --// Example // showDmg(workspace.SavageMunkey, workspace.Base, 'Damage Dealt'..math.random(0,100), {Rod=false,RodTrans=0,Crit=false})
- CheckIfLanded = function()
- local Ray = Ray.new(root.Position,vec3(0,-1,0)*3.5)
- local Ignore = {Char}
- local Hit,Pos,SurfaceNorm = workspace:FindPartOnRayWithIgnoreList(Ray,Ignore)
- if Hit == nil then return false,nil end
- return true, Hit
- end;
- FindNearestTorso = function(Position, Distance, SinglePlayer)
- if SinglePlayer then return(SinglePlayer.Torso.CFrame.p -Position).magnitude < Distance end
- local List = {}
- for i,v in pairs(workspace:GetChildren())do
- if v:IsA("Model")then
- if v:findFirstChild("Torso")then
- if v ~= Char then
- if(v.Torso.Position -Position).magnitude <= Distance then
- table.insert(List,v)
- end
- end
- end
- end
- end
- return List
- end
- DebounceHit = false
- NewFXBox = function(name,prnt)
- if prnt == nil then
- prnt = Character
- end
- local FXBox = Instance.new('Model', prnt)
- FXBox.Name = 'FXBox'
- if name then
- FXBox.Name = name
- end
- local Count = 0
- local Check
- Check = FXBox.ChildAdded:connect(function(Object)
- if Object:IsA'BasePart' then
- FXBox.PrimaryPart = Object
- Check:disconnect()
- end
- end)
- return FXBox
- end
- ReSurface = function(Part, Integer)
- if Part ~= nil and Part:IsA'BasePart' then
- Part.TopSurface = Integer
- Part.BottomSurface = Integer
- Part.LeftSurface = Integer
- Part.RightSurface = Integer
- Part.FrontSurface = Integer
- Part.BackSurface = Integer
- end
- end
- function ni(name,prnt)
- return Instance.new(tostring(name),prnt)
- end
- local FX = NewFXBox('FXBox', Character)
- function NewObject(Type, prnt, others)
- if not prnt then prnt = workspace end
- local New = ni(Type)
- if New:IsA'BasePart' then
- ReSurface(New,10)
- New.Anchored = true
- New.Size = vec3(1,1,1)
- New.CanCollide = false
- end
- for i,v in next, others do
- local suc,err = pcall(function()
- New[i] = v
- end)
- if not suc then
- print(err)
- end
- end
- New.Parent = prnt
- return New
- end
- function OnHumanoidFind(Detector, Offset, Function, Range, Multi) --// R15 Support
- spawn(function()
- if not Multi then Multi = false end
- local PlayerModels={};
- local SearchAndStuff
- local First = true
- SearchAndStuff=function(Parent)
- for Index, Obj in next, Parent:children() do
- if Obj:IsA'Model' and Obj:FindFirstChild'Humanoid' then
- if Obj:FindFirstChild'HumanoidRootPart' and (Obj.HumanoidRootPart.CFrame.p-(Detector.CFrame*Offset).p).magnitude <= Range and Obj~=char then
- --print'derp'
- table.insert(PlayerModels, Obj)
- if First then
- if not Multi then
- First = false
- end
- pcall(function()
- Obj.Health.Disabled = true
- end)
- spawn(function()
- Function(Obj:WaitForChild'HumanoidRootPart', Obj:WaitForChild'Humanoid', Obj)
- end)
- end
- end
- end
- SearchAndStuff(Obj)
- end
- end
- SearchAndStuff(workspace)
- return PlayerModels
- end)
- end
- function debri(item,time)
- return game:service'Debris':AddItem(item,time)
- end
- local effects={MagicCircles={};};
- local trans={};
- local grows={}
- function effects:MagicCircle(waitt, id, Offset)
- local mcPart=NewObject('Part', FX,{Transparency=1,Size=vec3(4.5,4.5,.2)})
- debri(mcPart,40)
- local mesh=NewObject('BlockMesh',mcPart,{Scale=vec3(1,1,0)})
- summonsound()
- local backDecal=NewObject('Decal',mcPart,{Color3=bc(CustomColor).Color,Face='Back',Texture=rbx..id})
- local frontDecal=NewObject('Decal',mcPart,{Color3=bc(CustomColor).Color,Face='Front',Texture=rbx..id})
- local r=rand()
- local dir=5
- if r>.5 then dir=-5 end
- spawn(function()
- repeat wait() until frontDecal.Parent==nil mcPart:Destroy()
- end)
- table.insert(effects.MagicCircles, {mcPart,backDecal,frontDecal,dir})
- mcPart.CFrame = Offset
- delay(waitt,function() trans[backDecal]={.05,1} trans[frontDecal]={.05,1}end)
- return mcPart
- end
- function effects:particle(waitt,mx,num, shape,Offset, clrz,cancollide)
- local sz={};
- if not clrz or #clrz < 1 then
- clrz={'Royal purple','Pearl',CustomColor}
- end
- for i = .4,mx,.025 do table.insert(sz,i) end
- local tings={};
- for i = 1,num do
- local val = sz[rand(1,#sz)]
- local part=NewObject('Part', FX,{Material=CustomMaterial, CanCollide=cancollide,Shape=shape, Transparency=.6,Size=vec3(val,val,val),Color = bc(clrz[rand(1,#clrz)]).Color, CFrame = Offset*ang(rad(rand(-360,360)),rad(rand(-360,360)),rad(rand(-360,360)))})
- tings[i]=part
- delay(waitt,function() trans[part]={.05,1} end)
- end
- return tings
- end
- function effects:Debris(cancollide, radius, mx, num, pos, waitt,velocitymax)
- local Ray = Ray.new(pos+vec3(0,1,0),vec3(0,-1,0)*5)
- local Ignore = {FX,Character}
- local Hit, Pos, SurfaceNorm = workspace:FindPartOnRayWithIgnoreList(Ray,Ignore)
- local tings={};
- if Hit then
- local sz={};
- for i = .2,mx,.025 do table.insert(sz,i) end
- for i = 1,num do
- local val = sz[rand(1,#sz)]
- local y = 45
- if not cancollide then y = 65 end
- local top,bottom=velocitymax[1],velocitymax[2]
- local x,z=rand(bottom,top),rand(bottom,top)
- local part=NewObject('Part', FX,{Anchored=false, Velocity = vec3(rand(-x,x),y,rand(-z,z)), Material=Hit.Material, CanCollide=cancollide, Transparency=Hit.Transparency,Size=vec3(val,val,val),Color = Hit.Color, CFrame = cf(pos)*cf(rand(-radius,radius),0,rand(-radius,radius))*ang(rad(rand(-360,360)),rad(rand(-360,360)),rad(rand(-360,360)))})
- tings[i]=part
- if cancollide then
- delay(waitt,function() trans[part]={.05,1} end)
- end
- end
- return tings
- else
- --// Derp
- end
- end
- function effects:BlastRad(cancollide, radius, num, mx, pos, waitt)
- local Ray = Ray.new(pos+vec3(0,1,0),vec3(0,-1,0)*5)
- local Ignore = {FX,Character}
- local Hit, Pos, SurfaceNorm = workspace:FindPartOnRayWithIgnoreList(Ray,Ignore)
- local tings={};
- local org=mx/4
- mx=mx
- if Hit then
- local sz={};
- for i = .2,num,.025 do table.insert(sz,i) end
- for i = 1,360,mx do
- local val = sz[rand(1,#sz)]
- local function rr()
- local vlz={}
- for i = .45,1,.025 do table.insert(vlz,i) end
- return vlz[rand(1,#vlz)]
- end
- local part=NewObject('Part', FX,{Material=Hit.Material, CanCollide=cancollide, Transparency=Hit.Transparency,Size=vec3(val/rr(),val/rr(),val/rr()),Color = Hit.Color, CFrame = cf(pos) * ang(0,rad(i),0)*cf(radius,(Hit.CFrame.Y+(Hit.Size.Y/2))-val,0)*ang(rad(rand(-360,360)),rad(rand(-360,360)),rad(rand(-360,360)))})
- tings[i]=part
- if cancollide then
- delay(waitt,function() trans[part]={.05,1} end)
- end
- end
- return tings
- else
- --// Derp
- end
- end
- --[[ examples
- effects:BlastRad(true, 15, 2, 18, pos, .5)
- effects:Debris(true, 2.5, 2, rand(10,20), pos, .5,{50,25})
- effects:MagicCircle(.15,124339738, cf(0,-1.5,0))
- effects:particle(.5,1.2,rand(2,5),'Ball',cf(0,-1.5,0),{CustomColor,'Pearl'})
- --]]
- BindKey('Ion Beam', 'e', function(AttackName, Key)
- ds,dkd = true,true
- for i = 0,1,.05 do
- FacePos'mouse'
- local animspd = .5
- Right_Arm_ = CFrame.new(1.63944244, -1.00000119, -0.438468933, 0, -0.866025388, 0.500000238, 1, 0, 0, 0, 0.500000238, 0.866025388)
- Left_Arm_ = CFrame.new(-0.21706295, -0.303030014, -0.0192867965, 0.939692855, 0.342019916, -2.08616257e-007, -0.342019856, 0.939692736, 1.5155652e-007, 2.08616257e-007, -8.94069672e-008, 1.00000024)
- Right_Leg_ = CFrame.new(0.0669910312, 0, -0.249992311, 0.866025567, 0, -0.499999881, 0, 1, 0, 0.499999881, 0, 0.866025567)
- Left_Leg_ = CFrame.new(-3.69548798e-006, 0, -7.62939453e-006, 1.00000024, 0, 0, 0, 1, 0, 0, 0, 1.00000024)
- Head_ = CFrame.new(0, 0, 0, 0.500000238, 0, -0.866025388, 0, 1, 0, 0.866025388, 0, 0.500000238)
- Torso_ = CFrame.new(-0.349983215, 0, 0, 0.500000238, 0, 0.866025388, 0, 1, 0, -0.866025388, 0, 0.500000238)
- torw.C0 = clerp(torw.C0, cf(0,0,0)*Torso_*ang(0,0,0),animspd)
- hedw.C0 = clerp(hedw.C0, cf(0,0,0)*Head_*ang(0,0,0),animspd)
- law.C0 = clerp(law.C0, cf(0,0,0)*Left_Arm_*ang(0,0,0),animspd)
- raw.C0 = clerp(raw.C0, cf(0,0,0)*Right_Arm_*ang(0,0,0),animspd)
- rlw.C0 = clerp(rlw.C0, cf(0,0,0)*Right_Leg_*ang(0,0,0),animspd)
- llw.C0 = clerp(llw.C0, cf(0,0,0)*Left_Leg_*ang(0,0,0),animspd)
- lrs:wait()
- end
- local mc=effects:MagicCircle(.15,127817121, rarm.CFrame * cf(0,-1.5,0)*ang(rad(90),0,0))
- local particles = effects:particle(.5,1.2,rand(2,5),'Ball',rarm.CFrame*cf(0,-1.5,0),{CustomColor,'Pearl'})
- spawn(function()
- local start=(rarm.CFrame*cf(0,-1.65,0))
- local endp = mouse.Hit.p
- local dir = cf(start.p,endp)
- local dist
- local beam = NewObject('Part',FX,{Material=CustomMaterial,Size = vec3(1,1,1), Transparency=.5,BrickColor=bcCustomColor,CFrame=dir*start})
- local i,maxi,up=0,800,15
- while i<maxi and lrs:wait() do
- if beam.Transparency >= 1 then
- beam:Destroy()
- break
- end
- i=i+up
- beam.Transparency=beam.Transparency+(1/(maxi/up))
- local bcf=(beam.CFrame*cf(0,0,-(i/2)))
- local Ray = Ray.new(start.p,(start.p-(cf(start.p,endp)*cf(0,0,1)).p).unit*i)
- local Hit,Pos,SurfaceNorm = workspace:FindPartOnRayWithIgnoreList(Ray,{Char,FX})
- if Hit then
- local particles = effects:particle(.001,6,rand(3,7),'Block',cf(Pos),{'Pearl',CustomColor})
- spawn(function()
- table.insert(grows,{particles,.5})
- end)
- local hsnd=snd(233856130,particles[1])
- hsnd.Volume=4
- hsnd.Pitch=pitches[rand(1,#pitches)]
- hsnd:Play()
- local hsnd2=snd(471882019,particles[1])
- hsnd2.Volume=4
- hsnd2.Pitch=pitches[rand(1,#pitches)]
- hsnd2:Play()
- effects:Debris(true, 2.5, 2, rand(10,20), Pos, .5,{50,25})
- effects:BlastRad(true, 3, 2, 18, Pos, .5)
- OnHumanoidFind(particles[1], cf(0,0,0), function(rootp,human,model)
- local Hum = human
- local dmg=rand(17,25)
- Hum.Health = Hum.Health - dmg
- local num=rand()
- local derp=false
- if num>.45 then
- derp=true
- dmg=dmg
- Hum.PlatformStand = true
- end
- showDmg(Hum.Parent, Character, dmg, {Rod=true,RodTrans=0,Crit=derp})
- end, 15, true)
- break
- else
- beam.Size=beam.Size:lerp(vec3(1,1,i),.5)
- beam.CFrame = dir*cf(0,0,-i/2)*ang(0,0,rad(i)) --// cf((beam.CFrame*cf(0,0,-i/2)).p,(beam.CFrame*cf(0,0,-(i/2)+4)).p)
- end
- lrs:wait()
- end
- beam:Destroy()
- end)
- ds,dkd = false,false
- end)
- BindKey('Spike Barrage Rise', 'q', function(AttackName, Key)
- ds,dkd = true,true
- for i = 0,1,.05 do
- FacePos'mouse'
- local animspd = .4
- Right_Arm_ = CFrame.new(0.370960236, 0.770703673, -1.29712296, 0.866025269, -0.500000298, 1.35973167e-007, -0.0950751901, -0.164675236, -0.981755078, 0.490877777, 0.850224674, -0.190150529)
- Left_Arm_ = CFrame.new(-0.370960236, 0.770703673, -1.2971077, 0.866025269, 0.500000298, -1.35973167e-007, 0.0950751901, -0.164675236, -0.981755078, -0.490877777, 0.850224674, -0.190150529)
- Right_Leg_ = CFrame.new(0, 0.117139697, -0.42620942, 1, 0, 0, 0, 0.990105569, -0.140325084, 0, 0.140325084, 0.990105569)
- Left_Leg_ = CFrame.new(0, 0.00440132618, -0.339604199, 1, 0, 0, 0, 0.992687285, 0.120714575, 0, -0.120714575, 0.992687285)
- Head_ = CFrame.new(0, 0.0041718483, -0.112817012, 1, 0, 0, 0, 0.997167885, -0.0752087981, 0, 0.0752087981, 0.997167885)
- Torso_ = CFrame.new(0, -0.0968499184, -0.0671653748, 1, 0, 0, 0, 0.990105569, 0.140325084, 0, -0.140325084, 0.990105569)
- torw.C0 = clerp(torw.C0, cf(0,0,0)*Torso_*ang(0,0,0),animspd)
- hedw.C0 = clerp(hedw.C0, cf(0,0,0)*Head_*ang(0,0,0),animspd)
- law.C0 = clerp(law.C0, cf(0,0,0)*Left_Arm_*ang(0,0,0),animspd)
- raw.C0 = clerp(raw.C0, cf(0,0,0)*Right_Arm_*ang(0,0,0),animspd)
- rlw.C0 = clerp(rlw.C0, cf(0,0,0)*Right_Leg_*ang(0,0,0),animspd)
- llw.C0 = clerp(llw.C0, cf(0,0,0)*Left_Leg_*ang(0,0,0),animspd)
- lrs:wait()
- end
- local pos
- hum.WalkSpeed=0
- hum.JumpPower=0
- for i = 0,1,.05 do
- local animspd = .4
- Right_Arm_ = CFrame.new(0, 1.00624561, -0.619987488, 1, 0, 0, 0, -0.655552566, -0.755149782, 0, 0.755149782, -0.655552566)
- Left_Arm_ = CFrame.new(0, 1.00623989, -0.619972229, 1, 0, 0, 0, -0.655552566, -0.755149782, 0, 0.755149782, -0.655552566)
- Right_Leg_ = CFrame.new(0, 0.0947320461, -0.297110081, 1, 0, 0, 0, 0.981755137, -0.190150023, 0, 0.190150023, 0.981755137)
- Left_Leg_ = CFrame.new(0, -0.0276720524, -0.331606507, 1, 0, 0, 0, 0.986158729, 0.165805161, 0, -0.165805161, 0.986158729)
- Head_ = CFrame.new(0, 0.00417375565, -0.112819031, 1, 0, 0, 0, 0.997167945, -0.0752075911, 0, 0.0752075985, 0.997167945)
- Torso_ = CFrame.new(0, -0.0691239834, -0.0950775146, 1, 0, 0, 0, 0.981755137, 0.190150023, 0, -0.190150023, 0.981755137)
- torw.C0 = clerp(torw.C0, cf(0,0,0)*Torso_*ang(0,0,0),animspd)
- hedw.C0 = clerp(hedw.C0, cf(0,0,0)*Head_*ang(0,0,0),animspd)
- law.C0 = clerp(law.C0, cf(0,0,0)*Left_Arm_*ang(0,0,0),animspd)
- raw.C0 = clerp(raw.C0, cf(0,0,0)*Right_Arm_*ang(0,0,0),animspd)
- rlw.C0 = clerp(rlw.C0, cf(0,0,0)*Right_Leg_*ang(0,0,0),animspd)
- llw.C0 = clerp(llw.C0, cf(0,0,0)*Left_Leg_*ang(0,0,0),animspd)
- lrs:wait()
- end
- ds,dkd = false,false
- end)
- local mh = 1500
- hum.MaxHealth = mh
- wait(.1)
- hum.Health = mh
- HumanoidRootPart.Transparency = .9
- local debvals={};
- debvals['CLEAN']=0
- debvals['walkparticles']=0
- local Handle = function()
- spawn(function()
- for i,v in next, effects.MagicCircles do
- if v[1].Parent ~= nil then
- v[1].CFrame = lerp(v[1].CFrame, v[1].CFrame * CFrame.Angles(0,0,rad(v[4])), .9)
- else
- --table.remove(effects.MagicCircles,i)
- effects.MagicCircles[i]=nil
- end
- end
- end)
- spawn(function()
- for ting,data in next, trans do
- if ting.Transparency~=nil and ting.Transparency < data[2] then
- --print(ting.Transparency,data[2])
- ting.Transparency=ting.Transparency+data[1]
- elseif ting.Transparency >= tonumber(data[2]) and ting.Parent ~= nil then
- --print'ded'
- trans[ting]=nil
- ting:Destroy()
- end
- end
- end)
- spawn(function()
- for a,b in next, grows do
- if a==grows[15] then
- grows={};
- for i,v in next, grows do
- grows[i]=v
- end
- print'ded'
- else
- if #b > 1 then
- for __,v in next, b[1] do
- if v.Parent ~= nil then
- if v.Transparency > 8 then
- v:Destroy()
- else
- local c=v.CFrame
- v.Size=v.Size+vec3(b[2],b[2],b[2])
- v.CFrame=c*ang(rad(2),rad(2/2),rad(2*3))
- end
- else
- b[1][__]=nil
- end
- end
- else
- grows[a]=nil
- end
- end
- end
- end)
- if not Walking and debvals['walkparticles']>.09 then
- debvals['walkparticles']=0
- local particles = effects:particle(.1,2.2,1,'Block',torso.CFrame,{CustomColor,'Pearl'})
- table.insert(grows,{particles,.5})
- else
- --print(debvals['walkparticles'])
- end
- if debvals['CLEAN'] > 40 then
- debvals['CLEAN']=0
- grows={};
- trans={};
- effects.MagicCircles={};
- FX:ClearAllChildren()
- end
- for i,v in next,debvals do
- debvals[i]=v+.1
- --print(i,v)
- end
- end
- Mouse.KeyDown:connect(function(Key)
- if Key:byte() == 48 then
- Walking = false
- end
- end)
- Mouse.KeyUp:connect(function(Key)
- if Key:byte() == 48 then
- Walking = true
- end
- end)
- local upv=0
- lrs:connect(function()
- Handle()
- Landed = CheckIfLanded()
- sine = sine+change/2
- hum.PlatformStand = false
- if ds then
- return
- end
- hum.JumpPower = 150
- hum.WalkSpeed = 9
- if Walking then
- hum.WalkSpeed=12
- else
- hum.WalkSpeed = 48
- end
- local tmag_xz = (torso.Velocity*vec3(1, 0, 1)).magnitude
- local tmag_y = torso.Velocity.Y
- local trot = torso.RotVelocity.Y/50
- local speed = Vector3.new(Torso.Velocity.X,0,Torso.Velocity.Z)
- local TiltOnAxis = (root.CFrame-root.CFrame.p):inverse()*speed/200
- local Tilt = ang(TiltOnAxis.Z,-TiltOnAxis.X,-TiltOnAxis.X)
- if Landed == false then
- State, Mode = 'Falling', 'Normal'
- elseif tmag_xz < 7 then
- State, Mode = 'Idle', 'Normal'
- elseif tmag_xz >= 10 then
- State = 'Walking'
- if tmag_xz > 23 then
- Mode = 'Running'
- else
- Mode = 'Normal'
- end
- end
- local RestoreDefault = function(Current)
- Current = Current or State
- if LastState ~= Current then
- LastState = Current
- sine = 0
- end
- end
- local Default_Anims = function()
- local animspd = .1
- local Right_Arm_ = cf(0,0,0)
- local Left_Arm_ = cf(0,0,0)
- local Right_Leg_ = cf(0,0,0)
- local Left_Leg_ = cf(0,0,0)
- local Head_ = cf(0,0,0)
- local Torso_ = cf(0,0,0)
- torw.C0 = clerp(torw.C0, cf(0,0,0)*Torso_*ang(0,0,0),animspd)
- hedw.C0 = clerp(hedw.C0, cf(0,0,0)*Head_*ang(0,0,0),animspd)
- law.C0 = clerp(law.C0, cf(0,0,0)*Left_Arm_*ang(0,0,0),animspd)
- raw.C0 = clerp(raw.C0, cf(0,0,0)*Right_Arm_*ang(0,0,0),animspd)
- rlw.C0 = clerp(rlw.C0, cf(0,0,0)*Right_Leg_*ang(0,0,0),animspd)
- llw.C0 = clerp(llw.C0, cf(0,0,0)*Left_Leg_*ang(0,0,0),animspd)
- end
- if State == 'Falling' and ds == false then
- local animspd = .3
- change=1
- Right_Arm_ = CFrame.new(0.309095025, -0.285505116, -0.0270642117, 0.920238733, -0.384522766, -0.0728211105, 0.386343509, 0.922273397, 0.0122654885, 0.0624446124, -0.0394211262, 0.99726963)
- Left_Arm_ = CFrame.new(-0.340406179, -0.299129426, 0.0357903093, 0.920238614, 0.384522349, -0.0728249624, -0.384691834, 0.922963858, 0.0122471973, 0.0719241202, 0.0167448297, 0.99726963)
- Right_Leg_ = CFrame.new(-6.10351563e-005, 3.81469727e-005, -1.90734863e-006, 1, 0, 0, 0, 1, 0, 0, 0, 1)
- Left_Leg_ = CFrame.new(-6.10351563e-005, 0.361884952, -0.74763912, 1, 0, 0, 0, 0.965925157, 0.258821696, 0, -0.258821696, 0.965925157)
- Head_ = CFrame.new(0, 0.200837851, 0.559991479, 1, 0, 0, 0, 0.866024137, 0.500002325, 0, -0.500002325, 0.866024137)
- Torso_ = CFrame.new(0, 0.0190048218, 0.0427560806, 1, 0, 0, 0, 0.992914736, -0.118828967, 0, 0.118828967, 0.992914736)
- torw.C0 = clerp(torw.C0, cf(-sin(sine/rand(2,8))/15,sin(sine/rand(2,8))/15,0)*Torso_*ang(0,0,0),animspd)
- hedw.C0 = clerp(hedw.C0, cf(0,0,0)*Head_*ang(0,0,0),animspd)
- law.C0 = lerp(law.C0, cf(0,0,0)*Left_Arm_*ang(0,0,0),animspd)
- raw.C0 = lerp(raw.C0, cf(0,0,0)*Right_Arm_*ang(0,0,0),animspd)
- rlw.C0 = clerp(rlw.C0, cf(0,0,0)*Right_Leg_*ang(0,0,0),animspd)
- llw.C0 = clerp(llw.C0, cf(0,0,0)*Left_Leg_*ang(0,0,0),animspd)
- elseif State == 'Idle' and ds == false then
- RestoreDefault()
- if Mode == 'Normal' and ds == false then
- local animspd = .2
- change=1
- torw.C0 = lerp(torw.C0, cf(0,-sin(sine/6)/15,.1-sin(sine/6)/41)*CFrame.new(0, 0, 0, 0.99999994, 0, 0, 0, 1, 0, 0, 0, 0.99999994)*ang(-rad(5)+sin(sine/6)/41,-rad(16),0),animspd)
- hedw.C0 = clerp(hedw.C0, cf(0,0,-cos(sine/6)/24)*CFrame.new(0.0443366542, 0.0183815956, 0.154620528, 0.965866625, -0.0431191772, 0.25542587, 0.00273020566, 0.987688363, 0.15641053, -0.259025425, -0.150374338, 0.95409292)*ang(cos(sine/6)/24,0,0),animspd)
- law.C0 = clerp(law.C0, cf(-cos(sine/6)/24,0,0)*CFrame.new(-0.17305398, -0.4023332, -0.290585816, 0.933187842, 0.329444826, -0.143619344, -0.358558774, 0.826312661, -0.434330463, -0.0244134665, 0.456807911, 0.889230251)*ang(0,0,-cos(sine/6)/15),animspd)
- raw.C0 = clerp(raw.C0, cf(cos(sine/6)/24,0,0)*CFrame.new(0.352661252, -0.465409994, 0, 0.866025329, -0.49999997, 0, 0.5, 0.866025388, 0, 0, 0, 0.99999994)*ang(0,0,cos(sine/6)/15),animspd)
- rlw.C0 = clerp(rlw.C0, cf(sin(sine/6)/41,sin(sine/6)/15,-.1+sin(sine/6)/41)*CFrame.new(-0.148569882, -0.0734579563, 0.0426014438, 0.993112504, -0.117148325, 0.0019749701, 0.117148332, 0.992546141, -0.0335917622, 0.0019749403, 0.0335917659, 0.999433637)*ang(-sin(sine/6)/41,0,0),animspd)
- llw.C0 = clerp(llw.C0, cf(sin(sine/6)/41,sin(sine/6)/15,-.1+sin(sine/6)/41)*CFrame.new(0.18119061, -0.113829255, -0.0519562438, 0.985961914, 0.166921332, 0.00402534008, -0.166921332, 0.98480773, 0.0478639491, 0.00402531028, -0.0478639565, 0.998845637)*ang(-sin(sine/6)/41,0,0),animspd)
- else
- Default_Anims()
- warn'Idle: Unknown Mode Used'
- end
- elseif State == 'Walking' and ds == false then
- RestoreDefault()
- if Mode == 'Normal' and ds == false then
- local animspd = .225
- local Right_Arm_ = cf(0,0,0)
- local Left_Arm_ = cf(0,0,0)
- local Right_Leg_ = cf(0,0,0)
- local Left_Leg_ = cf(0,0,0)
- local Head_ = cf(0,0,0)
- local Torso_ = cf(0,0,0)
- local animspd = .2
- change=1.55
- torw.C0 = lerp(torw.C0, cf(0,cos(sine/3)/8,0)*ang(-rad(10)+cos(sine/3)/8,cos(sine/6)/8,0),animspd)
- hedw.C0 = clerp(hedw.C0, cf(0,0,-.2+cos(sine/3)/8)*ang(rad(10)+-cos(sine/3)/8,trot+-cos(sine/6)/8,0),animspd)
- law.C0 = clerp(law.C0, cf(0,0,-cos(sine/6)/2)*CFrame.new(-0.201123714, -0.238223612, 0, 0.965925872, 0.258818984, 0, -0.258818984, 0.965925872, 0, 0, 0, 1)*ang(cos(sine/6)/2,0,0),animspd)
- raw.C0 = clerp(raw.C0, cf(0,0,cos(sine/6)/2)*CFrame.new(0.201123714, -0.238223612, 0, 0.965925872, -0.258818984, 0, -0.258818984, 0.965925872, 0, 0, 0, 1)*ang(-cos(sine/6)/2,0,0),animspd)
- rlw.C0 = clerp(rlw.C0, cf(-.034,-sin(sine/6)/4,-.4+-cos(sine/6)/2+sin(sine/6)/2)*ang(-rad(5)+sin(sine/6)/3,-cos(sine/6)/8,rad(2)),animspd)
- llw.C0 = clerp(llw.C0, cf(.0340,sin(sine/6)/4,-.4+cos(sine/6)/2+-sin(sine/6)/2)*ang(-rad(5)+-sin(sine/6)/3,-cos(sine/6)/8,-rad(2)),animspd)
- elseif Mode == 'Running' and ds == false then
- local animspd = .1
- local Right_Arm_ = cf(0,0,0)
- local Left_Arm_ = cf(0,0,0)
- local Right_Leg_ = cf(0,0,0)
- local Left_Leg_ = cf(0,0,0)
- local Head_ = cf(0,0,0)
- local Torso_ = cf(0,0,0)
- upv=upv+25
- torw.C0 = lerp(torw.C0, cf(cos(sine/3)/8,sin(sine/6)/5,trot)*Torso_*ang(-rad(90),rad(upv),0),.3)
- hedw.C0 = clerp(hedw.C0, cf(0,0,0)*Head_*ang(0,0,0),animspd)
- law.C0 = clerp(law.C0, cf(0,0,0)*Left_Arm_*ang(0,0,0),animspd)
- raw.C0 = clerp(raw.C0, cf(0,0,0)*Right_Arm_*ang(0,0,0),animspd)
- rlw.C0 = clerp(rlw.C0, cf(0,0,0)*Right_Leg_*ang(0,0,0),animspd)
- llw.C0 = clerp(llw.C0, cf(0,0,0)*Left_Leg_*ang(0,0,0),animspd)
- else
- Default_Anims()
- warn'Walking: Unknown Mode Used'
- end
- else --// New Animation Test Stage
- local animspd = .1
- local Right_Arm_ = cf(0,0,0)
- local Left_Arm_ = cf(0,0,0)
- local Right_Leg_ = cf(0,0,0)
- local Left_Leg_ = cf(0,0,0)
- local Head_ = cf(0,0,0)
- local Torso_ = cf(0,0,0)
- torw.C0 = clerp(torw.C0, cf(0,0,0)*Torso_*ang(0,0,0),animspd)
- hedw.C0 = clerp(hedw.C0, cf(0,0,0)*Head_*ang(0,0,0),animspd)
- law.C0 = clerp(law.C0, cf(0,0,0)*Left_Arm_*ang(0,0,0),animspd)
- raw.C0 = clerp(raw.C0, cf(0,0,0)*Right_Arm_*ang(0,0,0),animspd)
- rlw.C0 = clerp(rlw.C0, cf(0,0,0)*Right_Leg_*ang(0,0,0),animspd)
- llw.C0 = clerp(llw.C0, cf(0,0,0)*Left_Leg_*ang(0,0,0),animspd)
- end
- end)
- --[[ Default Welds
- local animspd = .3
- local Right_Arm_ = cf(0,0,0)
- local Left_Arm_ = cf(0,0,0)
- local Right_Leg_ = cf(0,0,0)
- local Left_Leg_ = cf(0,0,0)
- local Head_ = cf(0,0,0)
- local Torso_ = cf(0,0,0)
- torw.C0 = clerp(torw.C0, cf(0,0,0)*Torso_*ang(0,0,0),animspd)
- hedw.C0 = clerp(hedw.C0, cf(0,0,0)*Head_*ang(0,0,0),animspd)
- law.C0 = clerp(law.C0, cf(0,0,0)*Left_Arm_*ang(0,0,0),animspd)
- raw.C0 = clerp(raw.C0, cf(0,0,0)*Right_Arm_*ang(0,0,0),animspd)
- rlw.C0 = clerp(rlw.C0, cf(0,0,0)*Right_Leg_*ang(0,0,0),animspd)
- llw.C0 = clerp(llw.C0, cf(0,0,0)*Left_Leg_*ang(0,0,0),animspd)
- --]]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement