Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --https://github.com/Mokiros/roblox-FE-compatibility
- if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end
- local Player,Mouse,mouse,UserInputService,ContextActionService = owner
- local RealPlayer = Player
- do print("FE Compatibility code by Mokiros")local a=RealPlayer;script.Parent=a.Character;local b=Instance.new("RemoteEvent")b.Name="UserInput_Event"local function c()local d={_fakeEvent=true,Functions={},Connect=function(self,e)table.insert(self.Functions,e)end}d.connect=d.Connect;return d end;local f={Target=nil,Hit=CFrame.new(),KeyUp=c(),KeyDown=c(),Button1Up=c(),Button1Down=c(),Button2Up=c(),Button2Down=c()}local g={InputBegan=c(),InputEnded=c()}local CAS={Actions={},BindAction=function(self,h,i,j,...)CAS.Actions[h]=i and{Name=h,Function=i,Keys={...}}or nil end}CAS.UnbindAction=CAS.BindAction;local function k(self,l,...)local d=f[l]if d and d._fakeEvent then for m,e in pairs(d.Functions)do e(...)end end end;f.TrigEvent=k;g.TrigEvent=k;b.OnServerEvent:Connect(function(n,o)if n~=a then return end;f.Target=o.Target;f.Hit=o.Hit;if not o.isMouse then local p=o.UserInputState==Enum.UserInputState.Begin;if o.UserInputType==Enum.UserInputType.MouseButton1 then return f:TrigEvent(p and"Button1Down"or"Button1Up")end;if o.UserInputType==Enum.UserInputType.MouseButton2 then return f:TrigEvent(p and"Button2Down"or"Button2Up")end;for m,d in pairs(CAS.Actions)do for m,q in pairs(d.Keys)do if q==o.KeyCode then d.Function(d.Name,o.UserInputState,o)end end end;f:TrigEvent(p and"KeyDown"or"KeyUp",o.KeyCode.Name:lower())g:TrigEvent(p and"InputBegan"or"InputEnded",o,false)end end)b.Parent=NLS([==[local a=game:GetService("Players").LocalPlayer;local b=script:WaitForChild("UserInput_Event")local c=a:GetMouse()local d=game:GetService("UserInputService")local e=function(f,g)if g then return end;b:FireServer({KeyCode=f.KeyCode,UserInputType=f.UserInputType,UserInputState=f.UserInputState,Hit=c.Hit,Target=c.Target})end;d.InputBegan:Connect(e)d.InputEnded:Connect(e)local h,i;while wait(1/30)do if h~=c.Hit or i~=c.Target then h,i=c.Hit,c.Target;b:FireServer({isMouse=true,Target=i,Hit=h})end end]==],Player.Character)local r=game;local s={__index=function(self,q)local t=rawget(self,"_RealService")if t then return typeof(t[q])=="function"and function(m,...)return t[q](t,...)end or t[q]end end,__newindex=function(self,q,u)local t=rawget(self,"_RealService")if t then t[q]=u end end}local function v(d,w)d._RealService=typeof(w)=="string"and r:GetService(w)or w;return setmetatable(d,s)end;local x={GetService=function(self,t)return rawget(self,t)or r:GetService(t)end,Players=v({LocalPlayer=v({GetMouse=function(self)return f end},Player)},"Players"),UserInputService=v(g,"UserInputService"),ContextActionService=v(CAS,"ContextActionService"),RunService=v({_btrs={},RenderStepped=r:GetService("RunService").Heartbeat,BindToRenderStep=function(self,h,m,i)self._btrs[h]=self.Heartbeat:Connect(i)end,UnbindFromRenderStep=function(self,h)self._btrs[h]:Disconnect()end},"RunService")}rawset(x.Players,"localPlayer",x.Players.LocalPlayer)x.service=x.GetService;v(x,game)game,owner=x,x.Players.LocalPlayer end --Shark op
- --by osama44
- --for shark nigger
- --Converted to local by Scenius
- Player=game.Players.LocalPlayer
- o1 = Instance.new("ParticleEmitter")
- o1.Name = "ora"
- o1.Parent = script
- o1.Transparency = NumberSequence.new(0,1)
- o1.Size = NumberSequence.new(1.5,3.5)
- o1.Color = ColorSequence.new(Color3.new(255, 174, 66),Color3.new(255, 174, 66))
- o1.Enabled = false
- o1.LightEmission = 1
- o1.Texture = "rbxassetid://993557475"
- o1.Lifetime = NumberRange.new(1,1)
- o1.Rate = 500
- o1.RotSpeed = NumberRange.new(90,90)
- o1.Speed = NumberRange.new(0,0)
- sv = Instance.new("Part")
- for i = 1, 2 do
- sv.Parent = script
- end
- sv.BrickColor = BrickColor.new("New Yeller")
- sv.Name = "sword"
- sv.Size = Vector3.new(0.248, 8.654, 1.153)
- sv.Orientation = Vector3.new(90, 90, 0)
- svm = Instance.new("FileMesh", sv)
- svm.MeshId = "rbxassetid://211683906"
- repeat wait() until Player.Character
- repeat wait() until #script:children() >= 0
- script.Parent=Player.PlayerGui
- Effects = { }
- --[[Credits to SazErenos for his Artificical Heartbeat]]--
- ArtificialHB = Instance.new("BindableEvent", script)
- ArtificialHB.Name = "Heartbeat"
- script:WaitForChild("Heartbeat")
- frame = 1 / 30
- tf = 0
- allowframeloss = false
- tossremainder = false
- lastframe = tick()
- script.Heartbeat:Fire()
- game:GetService("RunService").Heartbeat:connect(function(s, p)
- tf = tf + s
- if tf >= frame then
- if allowframeloss then
- script.Heartbeat:Fire()
- lastframe = tick()
- else
- for i = 1, math.floor(tf / frame) do
- script.Heartbeat:Fire()
- end
- lastframe = tick()
- end
- if tossremainder then
- tf = 0
- else
- tf = tf - frame * math.floor(tf / frame)
- end
- end
- end)
- function swait(num)
- if num == 0 or num == nil then
- ArtificialHB.Event:wait()
- else
- for i = 0, num do
- ArtificialHB.Event:wait()
- end
- end
- end
- ------------------[[Variables and Main Stuff]]--------------------
- local Player = game.Players.localPlayer
- local Character = Player.Character
- local Humanoid = Character.Humanoid
- local char=Character
- local LeftArm = Character["Left Arm"]
- local RightArm = Character["Right Arm"]
- local LeftLeg = Character["Left Leg"]
- local RightLeg = Character["Right Leg"]
- local Head = Character.Head
- local Torso = Character.Torso
- local cam = game.Workspace.CurrentCamera
- local RootPart = Character.HumanoidRootPart
- local RootJoint = RootPart.RootJoint
- local equipped = false
- local attack = false
- local Anim = 'Idle'
- local idle = 0
- local attacktype = 1
- local Torsovelocity = (RootPart.Velocity * Vector3.new(1, 0, 1)).magnitude
- local velocity = RootPart.Velocity.y
- local sine = 0
- local change = 1
- local grabbed = false
- local cn = CFrame.new
- local mr = math.rad
- local angles = CFrame.Angles
- local ud = UDim2.new
- local c3 = Color3.new
- local ORW=Torso["Right Shoulder"]
- local OLW=Torso["Left Shoulder"]
- local OLH=Torso["Left Hip"]
- local ORH=Torso["Right Hip"]
- local DesiredSpeed=15
- local desiredjp=50
- EffectModel = Instance.new("Model", Character)
- it=Instance.new
- vt=Vector3.new
- cf=CFrame.new
- euler=CFrame.Angles
- EffectModel.Name = "Effects"
- local Animator=Humanoid.Animator
- local Animate=char.Animate
- local EffecMo=EffectModel
- euler=CFrame.Angles
- RotCF = euler(-1.57, 0, 3.14)
- it=Instance.new
- vt=Vector3.new
- LastMove=""
- Orbs={}
- EffecMo=EffectModel
- RootCF = CFrame.Angles(0, 0, 0)
- NeckCF = CFrame.new(0, 1, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
- local RW=Instance.new("Motor",nil)
- RW.Name="Right Shoulder"
- local LW=Instance.new("Motor",nil)
- LW.Name="Left Shoulder"
- local RH=Instance.new("Motor",nil)
- RH.Name="Right Hip"
- local LH=Instance.new("Motor",nil)
- LH.Name="Left Hip"
- Neck=Torso.Neck
- r1m=RootJoint.C1
- r0m=RootJoint.C0
- n1m=Neck.C1
- n0m=Neck.C0
- local rarmc1 = RW.C1
- local larmc1 = LW.C1
- local rlegc1 = RH.C1
- local llegc1 = LH.C1
- local resetc1 = false
- Comboing=false
- HTime=0
- LastDamage=0
- ComboHits=0
- local co1 = 10
- local co2 = 10
- local co3 = 20
- local co4 = 1
- local cooldown1 = 0
- local cooldown2 = 0
- local cooldown3 = 0
- local cooldown4 = 0
- local skillcolorscheme = BrickColor.new("New Yeller").Color
- local scrn = Instance.new("ScreenGui", Player.PlayerGui)
- makeframe = function(par, trans, pos, size, color)
- local frame = Instance.new("Frame", par)
- frame.BackgroundTransparency = trans
- frame.BorderSizePixel = 0
- frame.Position = pos
- frame.Size = size
- frame.BackgroundColor3 = color
- return frame
- end
- makelabel = function(par, text)
- local label = Instance.new("TextLabel", par)
- label.BackgroundTransparency = 1
- label.Size = UDim2.new(1, 0, 1, 0)
- label.Position = UDim2.new(0, 0, 0, 0)
- label.TextColor3 = Color3.new(255, 255, 255)
- label.TextStrokeTransparency = 0
- label.FontSize = Enum.FontSize.Size32
- label.Font = Enum.Font.SourceSansLight
- label.BorderSizePixel = 0
- label.TextScaled = true
- label.Text = text
- end
- framesk1 = makeframe(scrn, 0.5, UDim2.new(0.8, 0, 0.85, 0), UDim2.new(0.16, 0, 0.1, 0), skillcolorscheme)
- framesk2 = makeframe(scrn, 0.5, UDim2.new(0.8, 0, 0.74, 0), UDim2.new(0.16, 0, 0.1, 0), skillcolorscheme)
- framesk3 = makeframe(scrn, 0.5, UDim2.new(0.8, 0, 0.63, 0), UDim2.new(0.16, 0, 0.1, 0), skillcolorscheme)
- framesk4 = makeframe(scrn, 0.5, UDim2.new(0.8, 0, 0.52, 0), UDim2.new(0.16, 0, 0.1, 0), skillcolorscheme)
- bar1 = makeframe(framesk1, 0, UDim2.new(0, 0, 0, 0), UDim2.new(1, 0, 1, 0), skillcolorscheme)
- bar2 = makeframe(framesk2, 0, UDim2.new(0, 0, 0, 0), UDim2.new(1, 0, 1, 0), skillcolorscheme)
- bar3 = makeframe(framesk3, 0, UDim2.new(0, 0, 0, 0), UDim2.new(1, 0, 1, 0), skillcolorscheme)
- bar4 = makeframe(framesk4, 0, UDim2.new(0, 0, 0, 0), UDim2.new(1, 0, 1, 0), skillcolorscheme)
- text1 = Instance.new("TextLabel", framesk1)
- text1.BackgroundTransparency = 1
- text1.Size = UDim2.new(1, 0, 1, 0)
- text1.Position = UDim2.new(0, 0, 0, 0)
- text1.TextColor3 = Color3.new(255, 255, 255)
- text1.TextStrokeTransparency = 0
- text1.FontSize = Enum.FontSize.Size18
- text1.Font = Enum.Font.SourceSansLight
- text1.BorderSizePixel = 0
- text1.TextScaled = true
- text1.Text = "[Z]"
- text2 = Instance.new("TextLabel", framesk2)
- text2.BackgroundTransparency = 1
- text2.Size = UDim2.new(1, 0, 1, 0)
- text2.Position = UDim2.new(0, 0, 0, 0)
- text2.TextColor3 = Color3.new(255, 255, 255)
- text2.TextStrokeTransparency = 0
- text2.FontSize = Enum.FontSize.Size18
- text2.Font = Enum.Font.SourceSansLight
- text2.BorderSizePixel = 0
- text2.TextScaled = true
- text2.Text = "[X]"
- text3 = Instance.new("TextLabel", framesk3)
- text3.BackgroundTransparency = 1
- text3.Size = UDim2.new(1, 0, 1, 0)
- text3.Position = UDim2.new(0, 0, 0, 0)
- text3.TextColor3 = Color3.new(255, 255, 255)
- text3.TextStrokeTransparency = 0
- text3.FontSize = Enum.FontSize.Size18
- text3.Font = Enum.Font.SourceSansLight
- text3.BorderSizePixel = 0
- text3.TextScaled = false
- text3.Text = "[C]"
- text4 = Instance.new("TextLabel", framesk4)
- text4.BackgroundTransparency = 1
- text4.Size = UDim2.new(1, 0, 1, 0)
- text4.Position = UDim2.new(0, 0, 0, 0)
- text4.TextColor3 = Color3.new(255, 255, 255)
- text4.TextStrokeTransparency = 0
- text4.FontSize = Enum.FontSize.Size18
- text4.Font = Enum.Font.SourceSansLight
- text4.BorderSizePixel = 0
- text4.TextScaled = true
- text4.Text = "[V]"
- ------------[[Particle Emitters]]---------------------
- local pe=Instance.new("ParticleEmitter",script)
- pe.Enabled=false
- pe.Name="pe"
- local col1= Color3.new( 255, 160, 122)
- pe.Color=ColorSequence.new(col1)
- pe.Texture="rbxassetid://436792038"
- pe.LightEmission=1
- pe.Size=NumberSequence.new({NumberSequenceKeypoint.new(0, 1.65), NumberSequenceKeypoint.new(1, 0)})
- pe.Transparency=NumberSequence.new({NumberSequenceKeypoint.new(0, 0), NumberSequenceKeypoint.new(1, 1)})
- pe.Lifetime=NumberRange.new(1.5)
- pe.Rate=500
- pe.Acceleration=Vector3.new(5,0,5)
- pe.Rotation=NumberRange.new(5)
- pe.RotSpeed=NumberRange.new(10)
- pe.Speed=NumberRange.new(5)
- local pe=Instance.new("ParticleEmitter",script)
- pe.Enabled=false
- pe.Name="pe2"
- local col1= BrickColor.new("New Yeller").Color
- pe.Color=ColorSequence.new(col1)
- pe.Texture="rbxassetid://436792038"
- pe.LightEmission=.5
- pe.Size=NumberSequence.new({NumberSequenceKeypoint.new(0, 1.65), NumberSequenceKeypoint.new(1, 0)})
- pe.Transparency=NumberSequence.new({NumberSequenceKeypoint.new(0, 0), NumberSequenceKeypoint.new(1, 1)})
- pe.Lifetime=NumberRange.new(1)
- pe.Rate=500
- pe.Rotation=NumberRange.new(5)
- pe.RotSpeed=NumberRange.new(10)
- pe.Speed=NumberRange.new(5)
- pe.VelocitySpread=360
- ------------------[[Main Functions]]--------------------
- function CameraShake(Times, Power)
- coroutine.resume(coroutine.create(function()
- FV = Instance.new("BoolValue", Character)
- FV.Name = "CameraShake"
- for ShakeNum=1,Times do
- swait()
- local ef=Power
- if ef>=1 then
- Humanoid.CameraOffset = Vector3.new(math.random(-ef,ef),math.random(-ef,ef),math.random(-ef,ef))
- else
- ef=Power*10
- Humanoid.CameraOffset = Vector3.new(math.random(-ef,ef)/10,math.random(-ef,ef)/10,math.random(-ef,ef)/10)
- end
- end
- Humanoid.CameraOffset = Vector3.new(0,0,0)
- FV:Destroy()
- end))
- end
- so = function(id, par, vol, pit)
- local sou = Instance.new("Sound", par or workspace)
- if par==char then sou.Parent=char.Torso end
- sou.Volume = 666
- sou.Pitch = 1
- sou.SoundId = "rbxassetid://1027301611"
- coroutine.resume(coroutine.create(function(Sound)
- swait()
- Sound:play()
- while sou.Parent.Parent ~= nil and sou.TimePosition >= sou.TimeLength do
- swait()
- end
- sou.Parent = char.Torso
- end), sou)
- game:GetService("Debris"):AddItem(sou, sou.TimeLength + 0.5)
- end
- part = function(formfactor, parent, reflectance, transparency, brickcolor, name, size)
- local fp = it("Part")
- fp.Parent = parent
- fp.Reflectance = reflectance
- fp.Transparency = transparency
- fp.CanCollide = false
- fp.Locked = true
- fp.BrickColor = brickcolor
- fp.Name = name
- fp.Size = size
- fp.Position = Torso.Position
- fp.Material = "SmoothPlastic"
- fp:BreakJoints()
- return fp
- end
- mesh = function(Mesh, part, meshtype, meshid, offset, scale)
- local mesh = it(Mesh)
- mesh.Parent = part
- if Mesh == "SpecialMesh" then
- mesh.MeshType = meshtype
- if meshid ~= "nil" then
- mesh.MeshId = "http://www.roblox.com/asset/?id=" .. meshid
- end
- end
- mesh.Offset = offset
- mesh.Scale = scale
- return mesh
- end
- local function weldBetween(a, b)
- local OR=CFrame.new(a.Position)
- local P1C, P2C=a.CFrame:inverse()*OR,b.CFrame:inverse()*OR
- local weld = Instance.new("ManualWeld", a)
- weld.Part0 = a
- weld.Part1 = b
- weld.C0 = P1C
- weld.C1=P2C
- return weld
- end
- lock=function(a,b)
- local vp2=Instance.new("BodyPosition",a)
- vp2.MaxForce=Vector3.new(math.huge,math.huge,math.huge)
- vp2.P=1e7
- vp2.D=1e3
- vp2.Position=b.Position
- local vp3=Instance.new("BodyGyro",a)
- vp3.MaxTorque=Vector3.new(math.huge,math.huge,math.huge)
- vp3.P=1e7
- vp3.D=1e3
- vp3.cframe=a.CFrame
- return vp2,vp3
- end
- weld = function(parent, part0, part1, c0)
- local weld = it("Motor")
- weld.Parent = parent
- weld.Part0 = part0
- weld.Part1 = part1
- weld.C0 = c0
- return weld
- end
- function NoOutline(Part)
- Part.TopSurface,Part.BottomSurface,Part.LeftSurface,Part.RightSurface,Part.FrontSurface,Part.BackSurface = 10,10,10,10,10,10
- end
- Par=function(Parent,Name,Col,size,Mater)
- p=Instance.new("Part",Parent)
- p.Anchored=true
- p.CanCollide=false
- p.BrickColor=BrickColor.new(Col)
- p.Locked=true
- NoOutline(p)
- p.Size=size or Vector3.new(1,1,1)
- p.Material=Mater
- return p
- end
- Par2=function(size,cframe,color,meshtype,meshscale) --returns a basic part for further manipulation
- local par = Instance.new("Part")
- par.formFactor="Custom"
- par.TopSurface=0
- par.BottomSurface=0
- par.Size=size
- par.CFrame=cframe
- par.BrickColor=BrickColor.new(color)
- if meshtype then
- local m = Instance.new(meshtype,par)
- m.Scale=meshscale
- end
- return par
- end
- BillboardGui = function(image, position, size)
- local billpar = Instance.new("Part")
- billpar.Transparency = 1
- billpar.formFactor = "Custom"
- billpar.Size = Vector3.new(1, 1, 1)
- billpar.Anchored = true
- billpar.CanCollide = false
- billpar.CFrame = CFrame.new(position)
- billpar.Name = "BillboardGuiPart"
- local bill = Instance.new("BillboardGui", billpar)
- bill.Adornee = billpar
- bill.Size = UDim2.new(1, 0, 1, 0)
- bill.SizeOffset = Vector2.new(size, size)
- local d = Instance.new("ImageLabel", bill)
- d.BackgroundTransparency = 1
- d.Size = UDim2.new(1, 0, 1, 0)
- d.Image = image
- return billpar
- end
- gui = function(GuiType, parent, text, backtrans, backcol, pos, size)
- local gui = it(GuiType)
- gui.Parent = parent
- gui.Text = text
- gui.BackgroundTransparency = backtrans
- gui.BackgroundColor3 = backcol
- gui.SizeConstraint = "RelativeXY"
- gui.TextXAlignment = "Center"
- gui.TextYAlignment = "Center"
- gui.Position = pos
- gui.Size = size
- gui.Font = "SciFi"
- gui.FontSize = "Size14"
- gui.TextWrapped = false
- gui.TextStrokeTransparency = 0
- gui.TextColor3 = Color3.new(255,255,127)
- return gui
- end
- local TotalSuppressedTable = {}
- CreatePart = function(Parent, Material, Reflectance, Transparency, BColor, Name, Size)
- local RbxUtility = LoadLibrary("RbxUtility")
- local Create = RbxUtility.Create
- local Part = Create("Part")({Parent = Parent, Reflectance = Reflectance, Transparency = Transparency, CanCollide = false, Locked = true, BrickColor = BrickColor.new(tostring(BColor)), Name = Name, Size = Size, Material = Material})
- RemoveOutlines(Part)
- return Part
- end
- function BreakEffect(brickcolor,cframe,x1,y1,z1) --Credits to Ace
- local prt=part(3,EffectModel,0,0,brickcolor,"Effect",vt(0.5,0.5,0.5))
- prt.Anchored=true
- prt.Material="Neon"
- prt.CFrame=cframe*euler(math.random(-50,50),math.random(-50,50),math.random(-50,50))
- game:GetService("Debris"):AddItem(prt,10)
- local msh=mesh("SpecialMesh",prt,"Sphere","nil",vt(0,0,0),vt(x1,y1,z1))
- local num=math.random(10,50)/1000
- table.insert(Effects,{prt,"Shatter",num,prt.CFrame,math.random()-math.random(),0,math.random(50,100)/100})
- end
- local function CFrameFromTopBack(at, top, back)
- local right = top:Cross(back)
- return CFrame.new(at.x, at.y, at.z,
- right.x, top.x, back.x,
- right.y, top.y, back.y,
- right.z, top.z, back.z)
- end
- function clerp(a,b,t)
- return a:Lerp(b,t)
- end
- function QuaternionFromCFrame(cf)
- local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
- local trace = m00 + m11 + m22
- if trace > 0 then
- local s = math.sqrt(1 + trace)
- local recip = 0.5/s
- return (m21-m12)*recip, (m02-m20)*recip, (m10-m01)*recip, s*0.5
- else
- local i = 0
- if m11 > m00 then
- i = 1
- end
- if m22 > (i == 0 and m00 or m11) then
- i = 2
- end
- if i == 0 then
- local s = math.sqrt(m00-m11-m22+1)
- local recip = 0.5/s
- return 0.5*s, (m10+m01)*recip, (m20+m02)*recip, (m21-m12)*recip
- elseif i == 1 then
- local s = math.sqrt(m11-m22-m00+1)
- local recip = 0.5/s
- return (m01+m10)*recip, 0.5*s, (m21+m12)*recip, (m02-m20)*recip
- elseif i == 2 then
- local s = math.sqrt(m22-m00-m11+1)
- local recip = 0.5/s return (m02+m20)*recip, (m12+m21)*recip, 0.5*s, (m10-m01)*recip
- end
- end
- end
- function QuaternionToCFrame(px, py, pz, x, y, z, w)
- local xs, ys, zs = x + x, y + y, z + z
- local wx, wy, wz = w*xs, w*ys, w*zs
- local xx = x*xs
- local xy = x*ys
- local xz = x*zs
- local yy = y*ys
- local yz = y*zs
- local zz = z*zs
- return CFrame.new(px, py, pz,1-(yy+zz), xy - wz, xz + wy,xy + wz, 1-(xx+zz), yz - wx, xz - wy, yz + wx, 1-(xx+yy))
- end
- function QuaternionSlerp(a, b, t)
- local cosTheta = a[1]*b[1] + a[2]*b[2] + a[3]*b[3] + a[4]*b[4]
- local startInterp, finishInterp;
- if cosTheta >= 0.0001 then
- if (1 - cosTheta) > 0.0001 then
- local theta = math.acos(cosTheta)
- local invSinTheta = 1/math.sin(theta)
- startInterp = math.sin((1-t)*theta)*invSinTheta
- finishInterp = math.sin(t*theta)*invSinTheta
- else
- startInterp = 1-t
- finishInterp = t
- end
- else
- if (1+cosTheta) > 0.0001 then
- local theta = math.acos(-cosTheta)
- local invSinTheta = 1/math.sin(theta)
- startInterp = math.sin((t-1)*theta)*invSinTheta
- finishInterp = math.sin(t*theta)*invSinTheta
- else
- startInterp = t-1
- finishInterp = t
- end
- end
- return a[1]*startInterp + b[1]*finishInterp, a[2]*startInterp + b[2]*finishInterp, a[3]*startInterp + b[3]*finishInterp, a[4]*startInterp + b[4]*finishInterp
- end
- local newMotor = function(part0, part1, c0, c1)
- local w = Instance.new('Motor', part0)
- w.Part0 = part0
- w.Part1 = part1
- w.C0 = c0
- w.C1 = c1
- return w
- end
- Triangle=function(a, b, c)
- local col=BrickColor.new("Really red")
- --Credit to Fenrier
- local edg1 = (c-a):Dot((b-a).unit)
- local edg2 = (a-b):Dot((c-b).unit)
- local edg3 = (b-c):Dot((a-c).unit)
- if edg1 <= (b-a).magnitude and edg1 >= 0 then
- a, b, c = a, b, c
- elseif edg2 <= (c-b).magnitude and edg2 >= 0 then
- a, b, c = b, c, a
- elseif edg3 <= (a-c).magnitude and edg3 >= 0 then
- a, b, c = c, a, b
- else
- assert(false, "unreachable")
- end
- local len1 = (c-a):Dot((b-a).unit)
- local len2 = (b-a).magnitude - len1
- local width = (a + (b-a).unit*len1 - c).magnitude
- local maincf = CFrameFromTopBack(a, (b-a):Cross(c-b).unit, -(b-a).unit)
- local list = {}
- if len1 > 0.01 then
- local w1 = Instance.new('WedgePart', EffectModel)
- game:GetService("Debris"):AddItem(w1,5)
- coroutine.resume(coroutine.create(function(p)
- for i=1, 10 do
- p.Transparency=i/10
- swait()
- end
- p:Remove()
- end),w1)
- w1.FormFactor = "Custom"
- w1.BrickColor = col
- w1.Material = "SmoothPlastic"
- w1.CanCollide = false
- local sz = Vector3.new(0.2, width, len1)
- w1.Size = sz
- local sp = Instance.new("SpecialMesh",w1)
- sp.MeshType = "Wedge"
- sp.Scale = Vector3.new(0,1,1) * sz/w1.Size
- w1:BreakJoints()
- w1.Anchored = true
- w1.Transparency = 0
- w1.CFrame = maincf*CFrame.Angles(math.pi,0,math.pi/2)*CFrame.new(0,width/2,len1/2)
- end
- if len2 > 0.01 then
- local w2 = Instance.new('WedgePart', EffectModel)
- game:GetService("Debris"):AddItem(w2,5)
- coroutine.resume(coroutine.create(function(p)
- for i=1, 10 do
- p.Transparency=i/10
- swait()
- end
- p:Remove()
- end),w2)
- w2.FormFactor = "Custom"
- w2.BrickColor = col
- w2.Material = "SmoothPlastic"
- w2.CanCollide = false
- local sz = Vector3.new(0.2, width, len2)
- w2.Size = sz
- local sp = Instance.new("SpecialMesh",w2)
- sp.MeshType = "Wedge"
- sp.Scale = Vector3.new(0,1,1) * sz/w2.Size
- w2:BreakJoints()
- w2.Anchored = true
- w2.Transparency = 0
- w2.CFrame = maincf*CFrame.Angles(math.pi,math.pi,-math.pi/2)*CFrame.new(0,width/2,-len1 - len2/2)
- end
- return unpack(list)
- end
- osamachain = function(P0,P1,Color1,Color2,thickness1,thickness2,T)
- local Part0=P0.Position
- local Part1=P1.Position
- local magz = (Part0 - Part1).magnitude
- local curpos = Part0
- local parts = {}
- local lastpart=P0
- local model = Instance.new("Model",EffecMo)
- model.Name = "osama_chain"
- local par=model
- if par:FindFirstChild("TimeLeft")~=nil then
- par:FindFirstChild("TimeLeft"):Destroy()
- end
- local chains = {}
- local WAT=false
- local cb=Instance.new("Part",model)
- cb.Name="Main_chain"
- cb.Size=Vector3.new(.2,1,.2)
- cb.BrickColor=BrickColor.new(Color1)
- cb.Anchored=false
- cb.CanCollide=false
- cb.Locked=true
- cbM=Instance.new("CylinderMesh",cb)
- cbM.Name="Mesh"
- cb.CFrame = CFrame.new((Part0 + Part1)/2, Part0) * CFrame.Angles(math.pi/2, 0, 0)
- for j = 1, T do
- local Part0=P0.Position
- local Part1=P1.Position
- local trolpos = CFrame.new(curpos,Part1)*CFrame.new(0,0,magz/T).p
- local p = Instance.new("Part")
- p.Name="Outline"..j
- p.Size = Vector3.new(.2,1,.2)
- p.BrickColor = BrickColor.new(Color2)
- p.TopSurface = 0
- p.BottomSurface = 0
- p.CanCollide = false
- p.Locked=true
- p.Anchored=true
- p.Material = "Neon"
- p.TopSurface = 0
- p.BottomSurface = 0
- local mesh = Instance.new("CylinderMesh",p)
- mesh.Name = "Mesh"
- mesh.Scale = Vector3.new(1.5,magz/T,1.5)
- p.Parent = model
- p.CFrame = CFrame.new(curpos,trolpos)*CFrame.new(0,0,magz/T/2)
- curpos = p.CFrame*CFrame.new(0,0,magz/T/2).p
- p.CFrame=p.CFrame*CFrame.Angles(math.rad(90),0,0)
- p.Transparency=0.35
- local str=Instance.new("ObjectValue",p)
- str.Value=lastpart
- str.Name="LP"
- lastpart=p
- table.insert(parts,{p,p})
- table.insert(chains,{0,0,parts,0})
- coroutine.resume(coroutine.create(function()
- while WAT==false do
- game:GetService("RunService").RenderStepped:wait()
- local Part0=P0.Position
- local Part1=P1.Position
- local ow=j
- local magz = (Part0 - Part1).magnitude
- local oldT=T
- local wtf=magz
- mesh.Scale = Vector3.new(thickness2,magz/T,thickness2)
- if ow>1 then
- local dangnigga=CFrame.new(str.Value.Position)*CFrame.new(0,0,wtf/oldT/2).p
- local trolpos = CFrame.new(dangnigga,Part1)*CFrame.new(0,0,wtf/oldT).p
- p.CFrame = CFrame.new(str.Value.Position,Part1)*CFrame.new(0,0,-(wtf/oldT))*CFrame.Angles(math.rad(90),0,0)
- end
- if ow<=1 then
- local dangnigga=Part0
- local trolpos = CFrame.new(dangnigga,Part1)*CFrame.new(0,0,wtf/oldT).p
- p.CFrame = CFrame.new(dangnigga,trolpos)*CFrame.new(0,0,wtf/oldT/2)*CFrame.Angles(math.rad(90),0,0)
- end
- end
- end))
- end
- coroutine.resume(coroutine.create(function()
- while WAT==false do
- local Part0=P0.Position
- local Part1=P1.Position
- cbM.Scale = Vector3.new(thickness1, (Part0 - Part1).magnitude, thickness1)
- cb.CFrame = CFrame.new((Part0 + Part1)/2, Part0) * CFrame.Angles(math.pi/2, 0, 0)
- for i, v in pairs(chains) do
- v[1] = v[1] %200 +4
- local dir = i%2 == 0 and 1 or -1
- for j, V in pairs(v[3]) do
- local val = math.sin(math.pi/2 * 2 * (((v[1] + (100 * j/#v[3])*dir) % 100)/100))
- V[2].Transparency = 0.12 + val * 0.85
- end
- end
- game:GetService("RunService").RenderStepped:wait()
- end
- end))
- local t=Instance.new("BoolValue",par)
- t.Name="TimeLeft"
- coroutine.resume(coroutine.create(function()
- repeat wait() until par:FindFirstChild("TimeLeft")==nil
- WAT=true
- for _,v in pairs(model:children()) do
- coroutine.resume(coroutine.create(function()
- for i=1,30 do
- swait()
- v.Mesh.Scale=v.Mesh.Scale-Vector3.new(.05,0,.05)
- v.Transparency=i/30
- end
- v:Destroy()
- end))
- game.Debris:AddItem(model,1)
- end
- end))
- return t
- end
- AnimTab={}
- angles=CFrame.Angles
- euler=CFrame.fromEulerAnglesXYZ
- cf=CFrame.new
- AnimTab["Idle"]=function(frameN,sine)
- local frame={}
- frame[1]={
- CFrame.new(0.0749855712, -0.0629398525, 0.0235529467, 0.819152057, -0.0499904789, -0.571393847, 0.0499904789, 0.998626292, -0.0157019496, 0.571393847, -0.0157019496, 0.820525885) * CFrame.new(0, .05*math.cos(sine/16), 0) * CFrame.Angles(0, 0, 0),
- CFrame.new(-2.23517418e-008, 1.49999809, -5.96046448e-008, 0.707106829, 0, 0.707106948, -0.0616284125, 0.99619478, 0.0616284236, -0.704416037, -0.0871557444, 0.704416215) * CFrame.new(0, .02*math.cos(sine/16), 0) * CFrame.Angles( math.rad(2*math.cos(sine/16)), 0, 0),
- CFrame.new(1.39567375, 0.0430115312, 0.0315978527, 0.694800496, -0.393022656, -0.602318823, 0.404297799, 0.90606755, -0.12484619, 0.594807148, -0.156772524, 0.788436532) * CFrame.new(0, .05* math.cos(sine/16), 0) * CFrame.Angles(0, 0, math.rad(3.5*math.cos(sine/16))),
- CFrame.new(-1.58251691, 0.206372619, 0.0614111423, 0.471944094, 0.547303855, 0.691178441, -0.39397791, 0.832269073, -0.39001283, -0.788701952, -0.0882446468, 0.608410358) * CFrame.new(0, .05 * math.cos(sine/16), 0) * CFrame.Angles( math.rad(3.5*math.cos(sine/16)), 0, 0),
- CFrame.new(0.560000062, -1.83199704, 8.94069672e-008, 0.99619472, -0.0871557444, 2.98023224e-008, 0.0841859877, 0.962250233, 0.258819044, -0.0225575566, -0.257834196, 0.965925813) * CFrame.new(0,-.05*math.cos(sine/16), 0) * CFrame.Angles(0, 0, 0),
- CFrame.new(-0.612000167, -1.99999762, -4.47034836e-008, 0.936116815, 0.0871557519, 0.340718925, -0.0818995982, 0.996194839, -0.0298090391, -0.342020333, 1.3038516e-008, 0.939692676)* CFrame.new(0,-.05*math.cos(sine/16), 0) * CFrame.Angles(0, 0, 0),
- }
- return frame[frameN]
- end
- AnimTab["Walk"]=function(frameN,sine,num)
- local frame={}
- frame[1]={
- CFrame.new(-0.0113935694, 0.00570777431, 0.130231544, 0.984834015, 0.0075960937, -0.173317313, 0.00759613095, 0.99619472, 0.0868239552, 0.173317313, -0.0868239775, 0.981028795) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
- CFrame.new(4.61004674e-007, 1.49999475, -2.23517418e-007, 0.996191978, 0.00759613141, 0.0868240595, -9.31322575e-010, 0.99619472, -0.0871556401, -0.0871557146, 0.0868239626, 0.992401242) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
- CFrame.new(1.46789289, 0.0982637256, -0.144648015, 0.950443208, -0.30540812, -0.058124274, 0.310294747, 0.943467736, 0.116559155, 0.0192402601, -0.128818408, 0.99147892) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
- CFrame.new(-1.51850045, 0.0611076728, -0.0488293171, 0.793944538, 0.343733251, -0.501494884, -0.374889195, 0.926151514, 0.0412922278, 0.478652835, 0.155221671, 0.864171624) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
- CFrame.new(.5, -1.85 - 0.5 * math.cos(sine / num) / 2, 0 + 2 * math.sin(sine / num) / 2) * angles(math.rad(-60 * math.sin(sine / num)), math.rad(-5), math.rad(0)),
- CFrame.new(-.5, -1.85 + 0.5 * math.cos(sine / num) / 2, 0 - 2 * math.sin(sine / num) / 2) * angles(math.rad(60 * math.sin(sine / num)), math.rad(5), math.rad(0)),
- }
- return frame[frameN]
- end
- AnimTab["Fall"]=function(frameN)
- local frame={}
- frame[1]={
- CFrame.new(-0, -0, -0, 1, 0, 0, 0, 1, 0, 0, 0, 1) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
- CFrame.new(0, 1.49999714, 4.47034836e-008, 1, 0, -0, 0, 0.996194601, -0.0871557221, 0, 0.0871557221, 0.996194601) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
- CFrame.new(1.52677226, 0.170301318, 0.120866239, 0.615058243, -0.725984514, -0.307655036, 0.75595212, 0.653862953, -0.0316542089, 0.224143073, -0.213102654, 0.950971305) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
- CFrame.new(-1.74943757, 0.22577554, 0.248999774, -0.467496186, 0.588313401, 0.659799039, -0.437883109, 0.494264781, -0.750973344, -0.767922878, -0.639991939, 0.0265456047) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
- CFrame.new(0.5, -1.79199886, 0.372999966, 1, 0, 0, 0, 0.965925813, 0.258819044, 0, -0.258819044, 0.965925813) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
- CFrame.new(-0.5, -1.56999934, 3.57627869e-007, 1, 0, 0, 0, 0.906307697, 0.422618449, 0, -0.422618449, 0.906307697) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
- }
- return frame[frameN]
- end
- AnimTab["Jump"]=function(frameN)
- local frame={}
- frame[1]={
- CFrame.new(-0, -0, -0, 1, 0, 0, 0, 1, 0, 0, 0, 1) * CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(0), 0, 0),
- CFrame.new(0, 1.49999642, -2.98023224e-007, 1, 0, -0, 0, 0.984807611, -0.173648387, 0, 0.173648387, 0.984807611) * CFrame.new(0, 0, 0) * CFrame.Angles(math.rad(10), 0, 0),
- CFrame.new(1.52818167, 0.149664342, 0.34200123, 0.642788768, -0.627507448, -0.439385235, 0.766045749, 0.526541293, 0.368688077, 2.44126284e-008, -0.573576927, 0.8191517) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
- CFrame.new(-1.55943918, 0.108779103, 0.407002598, 0.0947543383, 0.640856326, 0.761791289, -0.612354636, 0.640856147, -0.462954849, -0.784887373, -0.422618419, 0.4531537) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
- CFrame.new(0.5, -1.79199874, 0.372999489, 1, 0, 0, 0, 0.819151998, 0.573576391, 0, -0.573576391, 0.819151998) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
- CFrame.new(-0.5, -1.18119395, -0.181302905, 1, 0, 0, 0, 0.906307697, 0.422618449, 0, -0.422618449, 0.906307697) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
- }
- return frame[frameN]
- end
- AnimTab["ClickCombo"]=function(frameN)
- local frame={}
- frame[1]={
- CFrame.new(-0.0197398271, 0.00017363939, -0.0113914032, 0.819431186, 0.0131589621, -0.573026359, -0.0151344128, 0.999884605, 0.00131906569, 0.572977841, 0.00759153441, 0.819535732) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
- CFrame.new(-5.12972474e-006, 1.49999857, 6.86198473e-006, 0.939692736, 0, -0.342020154, -0.0298089944, 0.99619472, -0.081899412, 0.340719104, 0.0871555582, 0.936116457) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
- CFrame.new(1.46780205, 0.710095406, 0.234785587, -0.355826288, -0.865559995, 0.352411389, -0.172264263, -0.30988273, -0.935039043, 0.918538094, -0.393419534, -0.038840577) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
- CFrame.new(-1.43954968, -2.52574682e-006, 0.129604459, 0.836516142, 0.258819044, 0.482963055, -0.224143833, 0.965925813, -0.129409522, -0.499999762, 5.96046448e-008, 0.866025388) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
- CFrame.new(0.679453552, -2.00000072, -0.0836714357, 0.984807849, -0.173648208, 1.78813934e-007, 0.173648164, 0.984807789, 1.49011612e-008, 2.08616257e-007, -2.23517418e-008, 0.999999762) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
- CFrame.new(-0.604891539, -2.00168324, 0.0733468086, 0.902858794, 0.0789898112, 0.422619224, -0.0871558189, 0.996194482, -8.33533704e-008, -0.421009451, -0.0368335843, 0.906307936) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
- }
- frame[2]={
- CFrame.new(-0.0613368936, 0.00152878393, 0.0285331458, 0.76637429, 0.0408957675, 0.641089976, -0.0435777232, 0.99898237, -0.0116322488, -0.640913188, -0.0190227255, 0.767376542) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
- CFrame.new(-7.62548461e-006, 1.49999809, -3.71038914e-006, 0.999998212, 0, 2.98023224e-008, 5.58793545e-009, 0.99619478, 0.0871554092, 0, -0.0871555507, 0.996193051) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
- CFrame.new(0.00463496707, 0.187205061, -0.965997756, 0.367293179, 0.711594164, 0.598938942, 0.427254975, 0.442903399, -0.788219512, -0.826164603, 0.545407176, -0.141356587) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
- CFrame.new(-1.49999774, 3.53902578e-006, 1.47521496e-005, 0.907670081, 0.258818388, 0.330364645, -0.243210018, 0.965925872, -0.0885214061, -0.342019051, -2.08616257e-007, 0.939689517) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
- CFrame.new(0.499999136, -2.00000024, -3.50921755e-006, 0.999998271, 1.86264515e-009, 5.96046448e-008, 1.86264515e-009, 1.00000012, -1.37835741e-007, 5.96046448e-008, -1.37835741e-007, 0.99999845) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
- CFrame.new(-0.645505011, -2.00401926, 0.0868109241, 0.924950242, 0.16841127, 0.340715557, -0.168411225, 0.985266805, -0.0298095532, -0.340716124, -0.0298096016, 0.939684689) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
- }
- frame[3]={
- CFrame.new(1.55471647e-009, -0.0068855267, -5.47999889e-006, 0.793305218, -2.25794793e-007, 0.608824253, 0.000484734424, 0.999999702, -0.000631258881, -0.608824015, 0.000795871951, 0.79330498) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
- CFrame.new(0.0225859769, 1.49797451, 0.0388732702, 0.883248448, 0.0451714694, 0.466724664, -0.00345645775, 0.995949268, -0.089850761, -0.468892813, 0.0777472705, 0.879826784) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
- CFrame.new(1.58917701, 0.14805764, 0.334518611, 0.0183337033, -0.201969534, -0.979220271, 0.697920084, 0.70388478, -0.132113129, 0.715941131, -0.680995286, 0.153863311) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
- CFrame.new(-1.88436937, 0.643480539, -0.285786152, 0.300701588, 0.768738747, 0.564463854, 0.950921416, -0.286961168, -0.115765437, 0.0729858056, 0.571571708, -0.817299783) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
- CFrame.new(0.412421823, -2.00387192, 0.0902987272, 0.791517377, 0.00115086511, -0.611145437, 0.00795604475, 0.999894083, 0.0121870684, 0.611094832, -0.0145086367, 0.791424394) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
- CFrame.new(-0.409770161, -1.99211299, -0.0764102042, 0.792799294, 0.000281186076, -0.609482467, 0.00198945496, 0.999993384, 0.00304915174, 0.609479368, -0.00362995872, 0.792793512) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
- }
- frame[4]={
- CFrame.new(2.62498816e-007, -0.000344276341, -2.2777408e-007, 0.803031087, 0, -0.595937431, -0.000474512577, 0.999999702, -0.000639379025, 0.595937312, 0.000796243548, 0.80303061) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
- CFrame.new(-0.0595012531, 1.49132609, -0.0711210817, 0.77105993, -0.119002283, 0.62554419, 0.00120455027, 0.982652485, 0.185453147, -0.636761785, -0.14224194, 0.757826924) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
- CFrame.new(1.59903359, 0.230916396, 0.409287423, 0.0014244318, -0.198947608, -0.980009317, 0.835885108, 0.538167715, -0.108036242, 0.54890269, -0.819021165, 0.167063877) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
- CFrame.new(-0.625070512, 0.361982256, -0.745636106, 0.285767585, -0.796516061, 0.532822251, 0.955926418, 0.276036203, -0.100043766, -0.0673916936, 0.537928045, 0.840292692) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
- CFrame.new(0.398624241, -1.9999733, -0.0658840984, 0.804467261, -0.000422894955, 0.593996882, -5.37931919e-005, 0.999999702, 0.000784777105, -0.593996882, -0.000663250685, 0.804466903) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
- CFrame.new(-0.398404002, -1.99966228, 0.0658915937, 0.803506851, -0.000106021762, 0.595295787, -1.34408474e-005, 1, 0.000196315348, -0.595295668, -0.000165745616, 0.803506553) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
- }
- frame[5]={
- CFrame.new(-1.14056382e-008, -0.196045384, -0.000156056514, 1, 5.81785571e-008, -0.00159262121, -1.21010919e-006, 0.99999994, -0.000796537439, 0.00159247965, 0.000796022301, 0.999999464) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
- CFrame.new(9.34411162e-008, 1.47852278, -0.144922316, 0.99999392, 7.4505806e-008, -5.21540642e-008, 5.78365871e-008, 0.957062781, 0.289872348, -7.4505806e-008, -0.289865702, 0.957063496) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
- CFrame.new(0.663555026, 0.49231568, -0.850663185, 0.015370708, 0.692666352, 0.721096218, 0.999231637, 0.0153704779, -0.036063727, -0.0360642895, 0.721095979, -0.691897511) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
- CFrame.new(-0.663553596, 0.492314607, -0.850663126, 0.0153705887, -0.692666411, -0.721096218, -0.999231517, 0.015370396, -0.0360638089, 0.0360642895, 0.721096158, -0.691897392) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
- CFrame.new(0.499701917, -1.92411804, 0.38171339, 0.999994397, 0.000301316381, -0.000750280917, 5.81403583e-006, 0.924113035, 0.382118583, 0.000808849931, -0.382119298, 0.924106598) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
- CFrame.new(-0.401899934, -1.79915607, -0.00056552887, 0.999996126, -7.83959404e-005, 0.000813350081, -9.8903547e-007, 0.995200098, 0.0978638232, -0.000817283988, -0.0978644416, 0.995195687) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
- }
- frame[6]={
- CFrame.new(-0, -0.828355193, 0.211025894, 1, 0, 0, 0, 0.939692676, 0.342019737, 0, -0.342019737, 0.939692676) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
- CFrame.new(0, 1.49999678, 3.7252903e-006, 1, 0, 0, 0, 0.996194541, -0.0871557444, 0, 0.0871557444, 0.996194541) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
- CFrame.new(1.87859392, 0.514964342, 0.34640047, -0.0871552005, -0.936116815, -0.340718567, 0.996194661, -0.0818997845, -0.029810369, -1.13248825e-006, -0.342018634, 0.939689815) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
- CFrame.new(-1.68897307, 0.493994951, 0.408263475, 2.7980894e-008, 0.906309366, 0.422614932, -0.999999881, 6.40749931e-007, -1.28149986e-006, -1.43051147e-006, -0.422614932, 0.906309187) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
- CFrame.new(0.5, -1.59677243, -0.49357605, 1, 0, 0, 0, 0.984807909, -0.17364797, 0, 0.17364797, 0.984807909) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
- CFrame.new(-0.5, -1.90224135, 0.424649239, 1, 0, 0, 0, 0.906307638, 0.422618598, 0, -0.422618598, 0.906307638) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
- }
- frame[7]={
- CFrame.new(-0, 0, 0, 0.960631907, 0.00137611502, 0.277821034, -0.159289986, 0.822030306, 0.546711087, -0.227624968, -0.569442153, 0.789887726) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
- CFrame.new(-0.0181836374, 1.50775862, -0.0594066978, 0.999913454, -0.0105673671, -0.00784052908, 0.0118241087, 0.983038306, 0.183019012, 0.00577357411, -0.183095813, 0.983078241) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
- CFrame.new(1.5073173, 1.31327307, -0.909579456, 0.94229573, -0.200924531, 0.267783791, 0.109451406, -0.571028471, -0.813601255, 0.316384584, 0.795962393, -0.516086161) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
- CFrame.new(-1.57927585, 0.317291111, 0.397556216, 0.809802711, 0.208654553, 0.548345804, -0.517000973, 0.695623755, 0.498816311, -0.277362049, -0.687437952, 0.671192646) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
- CFrame.new(0.655821919, -1.91117561, 0.471306443, 0.991203368, 0.0697749257, 0.112460986, -0.110218167, 0.905595839, 0.409570932, -0.0732664168, -0.418363273, 0.905320168) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
- CFrame.new(-0.524112225, -1.89465261, -0.507151604, 0.994412482, 0.0338317044, -0.100033343, -0.0809665471, 0.852411568, -0.516580105, 0.0677920207, 0.521791637, 0.850385308) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
- }
- return frame[frameN]
- end
- AnimTab["C"]=function(frameN)
- local frame={}
- frame[1]={
- CFrame.new(2.84053385e-007, -0.699999809, -2.38418579e-007, 0.965778768, -0.258819073, -0.0168577731, 0.232835919, 0.836516201, 0.496012032, -0.114275634, -0.482962906, 0.868152142) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
- CFrame.new(-5.63820706e-008, 1.49240422, 0.0868239999, 1, -4.84287739e-008, -8.94069672e-008, -4.47034836e-008, 0.98480767, -0.173648149, -2.98023224e-008, 0.173648193, 0.984807789) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
- CFrame.new(1.74633741, 0.23793821, 0.0817345008, 0.855079293, -0.517596483, -0.0305508971, 0.513783395, 0.837906241, 0.18422699, -0.0697565079, -0.173225164, 0.982408822) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
- CFrame.new(-1.49061811, 0.166142434, -1.07410741, -0.0469467044, 0.428182781, -0.9024719, -0.761570275, 0.569285035, 0.309717506, 0.64637953, 0.701836109, 0.299365371) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
- CFrame.new(0.463051915, -0.780309081, -0.937637031, 0.941776395, 0.166060507, -0.29237175, -0.294348687, 0.827483535, -0.478152335, 0.162530512, 0.536371887, 0.828184247) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
- CFrame.new(-0.799590945, -1.51444077, -0.389154136, 0.970662296, 0.0849219561, 0.224951029, -0.22485368, 0.652014375, 0.724098086, -0.0851795673, -0.75343585, 0.651980817) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
- }
- return frame[frameN]
- end
- AnimTab["Z"]=function(frameN)
- local frame={}
- frame[1]={
- CFrame.new(-0, -0, 0, 0.939692557, 0, 0.342020363, 0, 1, 0, -0.342020363, 0, 0.939692557) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
- CFrame.new(7.67409801e-007, 1.49999976, -2.84612179e-006, 0.965925753, -0.0449434593, -0.254887015, 0, 0.98480773, -0.173648164, 0.258819044, 0.167731255, 0.951251149) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
- CFrame.new(1.45801651, 1.30391252, -0.184753254, 0.908105314, -0.402072936, 0.116977036, -0.316420078, -0.841866553, -0.43720898, 0.274269402, 0.360022634, -0.891720653) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
- CFrame.new(-1.49999797, -1.36718154e-006, -4.20212746e-006, 0.907673359, 0.258819044, -0.330366075, -0.243210346, 0.965925813, 0.0885213241, 0.342020154, 0, 0.939692616) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
- CFrame.new(0.552665412, -2.01035452, 0.0304116532, 0.962249815, -0.0871557146, -0.257833838, 0.0841859728, 0.996194422, -0.022557551, 0.258818924, -5.58793545e-009, 0.965926111) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
- CFrame.new(-0.49999544, -2, -1.74716115e-006, 0.99619472, 0, 0.0871555209, 0, 1, 0, -0.0871555209, 0, 0.99619472) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
- }
- return frame[frameN]
- end
- AnimTab["X"]=function(frameN)
- local frame={}
- frame[1]={
- CFrame.new(0, -0, 0, -4.37113883e-008, 0, 1, 0, 1, 0, -1, 0, -4.37113883e-008) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
- CFrame.new(0, 1.5, 0, 1.19248824e-008, 0, -1, 0, 1, 0, 1, 0, 1.19248824e-008) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
- CFrame.new(1.875, 0.443000317, 2.5331974e-007, -3.09086197e-008, -1, 3.09086197e-008, 0.707106769, -4.37113883e-008, -0.707106769, 0.707106769, 0, 0.707106769) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
- CFrame.new(-1.30599999, 0.0260016322, -4.529953e-006, 0.694272041, 0.422618032, 0.58256346, -0.323744178, 0.906307817, -0.271653652, -0.642787516, 1.08828191e-008, 0.766044438) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
- CFrame.new(0.677001357, -1.99999976, 0, 0.98480773, -0.173648179, 0, 0.173648179, 0.98480773, 0, 0, 0, 1) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
- CFrame.new(-0.500001073, -2, 7.00354576e-007, 0.866025329, 0, 0.500000179, 0, 1, 0, -0.500000179, 0, 0.866025329) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
- }
- return frame[frameN]
- end
- lastcframe={RootJoint.C0,Neck.C0,RW.C0,LW.C0,RH.C0,LH.C0}
- function PlayAnimationFromTable(tabl, speed, bool)
- RootJoint.C0 = clerp(RootJoint.C0, tabl[1], speed)
- Neck.C0 = clerp(Neck.C0, tabl[2], speed)
- RW.C0 = clerp(RW.C0, tabl[3], speed)
- LW.C0 = clerp(LW.C0, tabl[4], speed)
- RH.C0 = clerp(RH.C0, tabl[5], speed)
- LH.C0 = clerp(LH.C0, tabl[6], speed)
- lastcframe={RootJoint.C0,Neck.C0,RW.C0,LW.C0,RH.C0,LH.C0}
- if bool == true then
- if resetc1 == false then
- resetc1 = true
- RootJoint.C1 = RootJoint.C1
- Torso.Neck.C1 = Torso.Neck.C1
- RW.C1 = rarmc1
- LW.C1 = larmc1
- RH.C1 = rlegc1
- LH.C1 = llegc1
- end
- end
- end
- CamShake=function(Part,Distan,Power,Times)
- local de=Part.Position
- for i,v in pairs(workspace:children()) do
- if v:IsA("Model") and v:findFirstChild("Humanoid") then
- for _,c in pairs(v:children()) do
- if c.ClassName=="Part" and (c.Position - de).magnitude < Distan then
- local Noob=v.Humanoid
- if Noob~=nil then
- if Noob:FindFirstChild("CamShake")==nil then-- and Noob == Character then
- --[[local ss=script.CamShake:clone()
- ss.Parent=Noob
- ss.Power.Value=Power
- ss.Times.Value=Times
- ss.Disabled=false]]
- CameraShake(Times, Power)
- end
- end
- end
- end
- end
- end
- end
- local RbxUtility = LoadLibrary("RbxUtility")
- local Create = RbxUtility.Create
- function RemoveOutlines(part)
- part.TopSurface, part.BottomSurface, part.LeftSurface, part.RightSurface, part.FrontSurface, part.BackSurface = 10, 10, 10, 10, 10, 10
- end
- function rayCast(Position, Direction, Range, Ignore)
- return game:service("Workspace"):FindPartOnRay(Ray.new(Position, Direction.unit * (Range or 999.999)), Ignore)
- end
- function rayCastWithIngore(Position, Direction, Range, Ignore)
- return game:service("Workspace"):FindPartOnRayWithIgnoreList(Ray.new(Position, Direction.unit * (Range or 999.999)), Ignore)
- end
- detect_state = function()
- Torsovelocity = (RootPart.Velocity * Vector3.new(1, 0, 1)).magnitude
- velocity = RootPart.Velocity.y
- sine = sine + change
- local hit, pos = rayCast(RootPart.Position, (CFrame.new(RootPart.Position, RootPart.Position - Vector3.new(0, 1, 0))).lookVector, 4, Character)
- if equipped == true then
- if RootPart.Velocity.y > 1 and hit == nil then
- Anim = "Jump"
- elseif RootPart.Velocity.y < -1 and hit == nil then
- Anim = "Fall"
- elseif Torsovelocity < 1 and hit ~= nil then
- Anim = "Idle"
- elseif Torsovelocity > 2 and hit ~= nil then
- Anim = "Walk"
- end
- end
- end
- function Lightning(Part0,Part1,Times,Offset,Color,Thickness,Trans) -- Lightning module
- local magz = (Part0 - Part1).magnitude
- local curpos = Part0
- local trz = {-Offset,Offset}
- for i=1,Times do
- local li =Par(EffectModel,"Lightning",Color,Vector3.new(Thickness,Thickness,magz/Times),"Neon")
- li.Transparency = Trans
- li.BrickColor = BrickColor.new(Color)
- ora=Instance.new("BlockMesh",li)
- ora.Scale=Vector3.new(Thickness,Thickness,1)
- local Offzet = Vector3.new(trz[math.random(1,2)],trz[math.random(1,2)],trz[math.random(1,2)])
- local trolpos = CFrame.new(curpos,Part1)*CFrame.new(0,0,magz/Times).p+Offzet
- if Times == i then
- local magz2 = (curpos - Part1).magnitude
- li.Size = Vector3.new(Thickness,Thickness,magz2)
- li.CFrame = CFrame.new(curpos,Part1)*CFrame.new(0,0,-magz2/2)
- else
- li.CFrame = CFrame.new(curpos,trolpos)*CFrame.new(0,0,magz/Times/2)
- end
- curpos = li.CFrame*CFrame.new(0,0,magz/Times/2).p
- game.Debris:AddItem(li,.1)
- end
- end
- function Lightning2(Part0,Part1,Times,Offset,Color,Thickness,Trans,V) -- Lightning module
- local magz = (Part0 - Part1).magnitude
- local curpos = Part0
- local trz = {-Offset,Offset}
- for i=1,Times do
- local li =Par(EffectModel,"Lightning",Color,Vector3.new(Thickness,Thickness,magz/Times),"Neon")
- li.Transparency = Trans
- ora=Instance.new("BlockMesh",li)
- ora.Scale=Vector3.new(Thickness,Thickness,1)
- local Offzet = Vector3.new(trz[math.random(1,2)],trz[math.random(1,2)],trz[math.random(1,2)])
- local trolpos = CFrame.new(curpos,Part1)*CFrame.new(0,0,magz/Times).p+Offzet
- if Times == i then
- local magz2 = (curpos - Part1).magnitude
- li.Size = Vector3.new(Thickness,Thickness,magz2)
- li.CFrame = CFrame.new(curpos,Part1)*CFrame.new(0,0,-magz2/2)
- else
- li.CFrame = CFrame.new(curpos,trolpos)*CFrame.new(0,0,magz/Times/2)
- end
- curpos = li.CFrame*CFrame.new(0,0,magz/Times/2).p
- coroutine.resume(coroutine.create(function()
- for i=1,V do
- swait()
- li.Transparency=i/V
- end
- li:Destroy()
- end))
- end
- end
- function Lightning3(Part0,Part1,Times,Offset,Color,Thickness,Trans,last) -- Lightning module
- local magz = (Part0 - Part1).magnitude
- local curpos = Part0
- local trz = {-Offset,Offset}
- for i=1,Times do
- local li =Par(EffectModel,"Lightning",Color,Vector3.new(Thickness,Thickness,magz/Times),"Neon")
- li.Transparency = Trans
- local Offzet = Vector3.new(trz[math.random(1,2)],trz[math.random(1,2)],trz[math.random(1,2)])
- local trolpos = CFrame.new(curpos,Part1)*CFrame.new(0,0,magz/Times).p+Offzet
- if Times == i then
- local magz2 = (curpos - Part1).magnitude
- li.Size = Vector3.new(Thickness,Thickness,magz2)
- li.CFrame = CFrame.new(curpos,Part1)*CFrame.new(0,0,-magz2/2)
- else
- li.CFrame = CFrame.new(curpos,trolpos)*CFrame.new(0,0,magz/Times/2)
- end
- curpos = li.CFrame*CFrame.new(0,0,magz/Times/2).p
- game.Debris:AddItem(li,5)
- coroutine.resume(coroutine.create(function()
- for i=1,20 do
- swait()
- li.Transparency=li.Transparency+last
- end
- li:Destroy()
- end))
- end
- end
- GET_THE_NEAREST_FAGGOT = function(pos)
- local list = (game.Workspace:children())
- local torso = nil
- local DISTANCE_u_BITCH = 1000
- local temp, human, temp2 = nil, nil, nil
- for x = 1, #list do
- temp2 = list[x]
- if temp2.className == "Model" and temp2.Name ~= Character.Name then
- temp = temp2:findFirstChild("Torso")
- human = temp2:findFirstChild("Humanoid")
- if temp ~= nil and human ~= nil and human.Health > 0 and (temp.Position - pos).magnitude < DISTANCE_u_BITCH then
- local FOUND_YOU = true
- if Player.Neutral == false and game.Players:GetPlayerFromCharacter(temp.Parent) ~= nil then
- FOUND_YOU = false
- end
- if FOUND_YOU == true then
- torso = temp
- DISTANCE_u_BITCH = (temp.Position - pos).magnitude
- end
- end
- end
- end
- return torso, DISTANCE_u_BITCH
- end
- Damagefunc=function(hit,Damage, knockback,tiem, Type, Delay,stun,removebodypos)
- local Hited=false
- if hit.Parent == nil then
- return
- end
- h = hit.Parent:FindFirstChild("Humanoid")
- if h ~= nil and hit.Parent.Name ~= Character.Name and hit.Parent:FindFirstChild("Torso") ~= nil then
- if hit.Parent:findFirstChild("DebounceHit") ~= nil and hit.Parent.DebounceHit.Value == true then
- return
- end
- if h.Health<=0 then return end
- h = hit.Parent:FindFirstChild("Humanoid")
- c = Instance.new("ObjectValue")
- c.Name = "creator"
- c.Value = game:service("Players").LocalPlayer
- c.Parent = h
- game:GetService("Debris"):AddItem(c, 0.5)
- if Type=="H2" then
- local eff = Par2(Vector3.new(1, 1, 1), hit.CFrame * CFrame.new(math.random(-15, 15) / 10, math.random(-20, 15) / 10, math.random(-5, 5) / 10) * CFrame.Angles(math.random(-15, 15), math.random(-15, 15), math.random(-15, 15)), "Really black", "SpecialMesh", Vector3.new(0.5, 0.5, 0.5))
- eff.Parent = EffectModel
- eff.Name = "BloodEffect"
- eff.Mesh.MeshType = "Sphere"
- eff.Anchored = true
- eff.CanCollide = false
- game:GetService("Debris"):AddItem(eff, 5)
- coroutine.resume(coroutine.create(function(p, A)
- local R = Vector3.new(math.random(-5, 5), math.random(7, 9), math.random(-5, 5)) / 50
- for i = 1, 6 do
- p.Mesh.Scale = p.Mesh.Scale + Vector3.new(0.85, 0.85, 0.85)
- p.Transparency =1
- p.CFrame = p.CFrame * A
- swait()
- end
- p:Remove()
- end), eff, CFrame.Angles(math.rad(math.random(-4, 4) * 4), math.rad(math.random(-4, 4) * 3), math.rad(math.random(-4, 4) * 2)), 0)
- local eb = BillboardGui("http://www.roblox.com/asset/?id=233069772", eff.Position, 0)
- eb.Parent = EffectModel
- eb.BillboardGui.ImageLabel.ImageColor3=Color3.new(255, 0, 0)
- eb.BillboardGui.ImageLabel.Rotation = math.random(-180, 180)
- eb.BillboardGui.Size = UDim2.new(2, 0, 2, 0)
- game:GetService("Debris"):AddItem(eb, 3)
- coroutine.resume(coroutine.create(function(p)
- local r = math.random(-3, 3) * 9
- if r > -12 and r < 1 then
- r = -12
- else
- if r < 12 and r > -1 then
- r = 12
- end
- end
- for i = 1, 6 do
- p.BillboardGui.ImageLabel.ImageTransparency = 0.25 + i / 6
- p.BillboardGui.Size = UDim2.new(2 + i / 1.75, 0, 2 + i / 1.75, 0)
- p.BillboardGui.ImageLabel.Rotation = p.BillboardGui.ImageLabel.Rotation + r
- swait()
- end
- p:Remove()
- end), eb)
- local hitnum = math.random(1, 8)
- if hitnum == 1 then
- so("153092274", hit, 1, 1)
- end
- if hitnum == 2 then
- so("199149186", hit, 2, .5)
- end
- if hitnum == 3 then
- so("153092296", hit, 1, .3)
- end
- if hitnum == 4 then
- so("199149235", hit, 1, .5)
- end
- if hitnum == 5 then
- so("199149269", hit, 1, .4)
- end
- if hitnum == 6 then
- so("199149297", hit, 1, .5)
- end
- if hitnum == 7 then
- so("201858024", hit, 1, .6)
- end
- if hitnum == 8 then
- so("201858024", hit, 1, .5)
- end
- end
- if Type=="H1" then
- local hitnum=math.random(2,4)
- p=Par(EffectModel,"EffectHi","Really red",Vector3.new(1,1,1),"SmoothPlastic")
- p.CFrame=hit.Parent.Torso.CFrame
- m=Instance.new("SpecialMesh")
- m.MeshType="Sphere"
- m.Parent=p
- game:GetService("Debris"):AddItem(p,5)
- coroutine.resume(coroutine.create(function(p)
- for i=1, 8 do
- p.Transparency=i/8
- p.Mesh.Scale=p.Mesh.Scale+Vector3.new(.5,.5,.5)
- swait(.5)
- end
- p:Remove() end),p)
- if hitnum==1 then
- so("153092274", hit, 1, 1)
- else
- if hitnum == 2 then
- so("153092217", hit, 1, 1)
- else
- if hitnum == 3 then
- so("153092227", hit, 1, 1)
- else
- if hitnum == 4 then
- so("153092238", hit, 1, 1)
- end
- end
- end end
- end
- Noob=hit.Parent
- HTime=time()+1.8
- LastDamage=LastDamage + Damage*1
- ComboHits=ComboHits+1
- Comboing=true
- Hited=true
- local ded=false
- Comboing=true
- h:TakeDamage(Damage)
- local Part=hit
- ShowDamage(Part.CFrame * CFrame.new(0, 0, Part.Size.Z / 2).p + Vector3.new(0, 3.5, 0), -Damage, 1.5, BrickColor.new("New Yeller").Color)
- if stun==true then
- local t=hit.Parent.Torso
- if hit.Parent.Torso:FindFirstChild("EBOLA")==nil then
- local r=Instance.new("BodyGyro")
- r.P=1e7
- r.D=1e3
- r.maxTorque=Vector3.new(50000,50000,50000)*50000000000
- r.cframe=r.CFrame*CFrame.fromEulerAnglesXYZ(math.rad(90),0,0)
- r.Parent=t
- game:GetService("Debris"):AddItem(r,1)
- r.Name="EBOLA"
- local fff=Instance.new("BodyForce")
- fff.force=Vector3.new(0,1200,0)
- fff.Parent=t
- game:GetService("Debris"):AddItem(fff,1)
- local hum = hit.Parent.Humanoid
- local bodvol = Instance.new("BodyVelocity")
- bodvol.velocity = Vector3.new(0,0,0)+RootPart.CFrame.lookVector*4
- bodvol.Name="EBOLA"
- bodvol.P = 4000
- bodvol.maxForce=Vector3.new(50000000,5000000,50000000)*10000
- bodvol.Parent = hit
- game.Debris:AddItem(bodvol,.5)
- end
- end
- if stun~=true then
- if removebodypos==true then
- for _,v in pairs(hit:children()) do
- if v.ClassName=="BodyPosition" or v.ClassName=="BodyVelocity" then
- v.Parent=nil
- end
- end
- end
- local hum = hit.Parent.Humanoid
- if hit:FindFirstChild("EBOLA")~=nil then hit:FindFirstChild("EBOLA").Parent=nil end
- local bodvol = Instance.new("BodyVelocity")
- bodvol.Name="EBOLA"
- bodvol.velocity = knockback
- bodvol.P = 4000
- bodvol.maxForce=Vector3.new(50000000,5000000,50000000)*10000
- bodvol.Parent = hit
- game.Debris:AddItem(bodvol,tiem)
- end
- local debounce = Instance.new("BoolValue")
- debounce.Name = "DebounceHit"
- debounce.Parent = hit.Parent
- debounce.Value = true
- game:GetService("Debris"):AddItem(debounce, Delay)
- c = Instance.new("ObjectValue")
- c.Name = "creator"
- c.Value = Player
- c.Parent = h
- game:GetService("Debris"):AddItem(c, 0.5)
- local CRIT = false
- end
- end
- function MagnitudeDamage(Part, magni,Damage, knockback,tiem, Type, Delay ,stun,removebodypos)
- for _, c in pairs(workspace:children()) do
- local hum = c:findFirstChild("Humanoid")
- if hum ~= nil then
- local head = c:findFirstChild("Torso")
- if head ~= nil then
- local targ = head.Position - Part.Position
- local mag = targ.magnitude
- if mag <= magni and c.Name ~= Player.Name then
- Damagefunc(head,Damage, knockback,tiem, Type, Delay,stun,removebodypos)
- end
- end
- end
- end
- end
- Cooldown=function(name,duration)
- local t=Instance.new("BoolValue",char)
- t.Name=name
- coroutine.resume(coroutine.create(function()
- swait((duration*30)-1)
- game.Debris:AddItem(t,.1)
- end))
- end
- Koy=""
- Dmoves=nil
- Stop = function()
- canjump = false
- end
- Resume= function()
- canjump = true
- end
- Player.Character.Humanoid.Changed:connect(function()
- if canjump == false then
- Player.Character.Humanoid.Jump = false
- end
- end)
- doingmoves=function(value)
- if value==true then
- LastMove=""
- Stop()
- input=""
- Koy=""
- CanCancel=false
- Dmoves=true
- DIR=RootPart.CFrame.lookVector
- end
- if value==false then
- Dmoves=false
- LastMove=""
- Koy=""
- if Dmoves==false then
- CanCancel=true
- char.Humanoid.WalkSpeed=DesiredSpeed
- Resume()
- end
- Dmoves=false
- end
- end
- Dmoves=false
- input=""
- age=0
- cam_ing=false
- local Input_MaxTime=.8
- local Input_Time=Input_MaxTime
- local Input_Addition=.2
- local Input_Lose=.1
- local Max_Input=20
- local Running_Timer=false
- coroutine.resume(coroutine.create(function()
- while true do
- swait()
- if Input_Time>0 then
- Input_Time=Input_Time-Input_Lose
- elseif Input_Time < 0 then
- Input_Time=0
- input=""
- elseif Input_Time == 0 then
- input=""
- elseif Input_Time > Input_MaxTime then
- Input_Time = Input_MaxTime
- end
- end
- end))
- getDirection=function()
- local par=RootPart
- Cam=workspace.CurrentCamera
- return {CFrame.new(par.Position,Vector3.new(Cam.CoordinateFrame.x,par.Position.y,Cam.CoordinateFrame.z))*CFrame.fromEulerAnglesXYZ(0,math.pi,0),Vector3.new(Cam.CoordinateFrame.p.x,par.CFrame.p.y,Cam.CoordinateFrame.p.z)}
- end
- getrek=function()
- Cam=workspace.CurrentCamera
- Cam=workspace.CurrentCamera
- return {CFrame.new(RootPart.Position,Vector3.new(Noob.Torso.Position.x,RootPart.Position.y,Noob.Torso.Position.z)),Vector3.new(Noob.Torso.CFrame.p.x,Noob.Torso.CFrame.p.y,Noob.Torso.CFrame.p.z)}
- end
- FaceMouse=function()
- Cam=workspace.CurrentCamera
- return {CFrame.new(char.Torso.Position,Vector3.new(mouse.Hit.p.x,char.Torso.Position.y,mouse.Hit.p.z)),Vector3.new(mouse.Hit.p.x,mouse.Hit.p.y,mouse.Hit.p.z)}
- end
- FaceForward=function()
- RootPart.CFrame=getDirection()[1]
- return RootPart.CFrame
- end
- ph0segui = function(Char, Dealt,color)
- local holder = Instance.new("Model",Char)
- holder.Name = "Effect"
- local c = Par(holder,"Head","Really red",Vector3.new(1, 0.4, 1),"SmoothPlastic")
- c.Transparency = 1
- local b = Instance.new("BillboardGui", c)
- b.Size = UDim2.new(5, 0, 5, 0)
- b.AlwaysOnTop = true
- local damgui = it("TextLabel")
- damgui.Parent = b
- damgui.Text = Dealt
- damgui.BackgroundTransparency = 1
- damgui.BackgroundColor3 = Color3.new(0, 0, 0)
- damgui.SizeConstraint = "RelativeXY"
- damgui.TextXAlignment = "Center"
- damgui.TextYAlignment = "Center"
- damgui.Position = UDim2.new(0, 0, 0, 0)
- damgui.Size = UDim2.new(1, 0, 1, 0)
- damgui.Font = "ArialBold"
- damgui.FontSize = "Size14"
- damgui.TextWrapped = false
- damgui.TextStrokeTransparency = 0
- damgui.TextColor3 = BrickColor.new(color).Color
- damgui.TextScaled = true
- local ms = Instance.new("CylinderMesh")
- ms.Scale = Vector3.new(0.8, 0.8, 0.8)
- ms.Parent = c
- c.Reflectance = 0
- Instance.new("BodyGyro").Parent = c
- c.Parent = holder
- if Char:findFirstChild("Head") ~= nil then
- c.CFrame = cf(Char.Head.CFrame.p + Vector3.new(math.random(-100, 100) / 100, 3, math.random(-100, 100) / 100))
- else
- if Char.Parent:findFirstChild("Head") ~= nil then
- c.CFrame = cf(Char.Parent.Head.CFrame.p + Vector3.new(math.random(-100, 100) / 100, 3, math.random(-100, 100) / 100))
- end
- end
- local f = Instance.new("BodyPosition")
- f.P = 2000
- f.D = 100
- f.maxForce = Vector3.new(545000, 545000, 545000)
- f.position = c.Position + Vector3.new(0, 1, 0)
- f.Parent = c
- c.CanCollide = false
- c.CanCollide = false
- coroutine.resume(coroutine.create(function()
- swait(20)
- for i=1,15 do
- swait()
- damgui.TextTransparency=i/15
- damgui.TextStrokeTransparency=i/15
- f.position=f.position+Vector3.new(0,.3,0)
- end
- end))
- game:GetService("Debris"):AddItem(m, 1)
- end
- mouse=nil
- ShowDamage = function(Pos, Text, Time, Color)
- local Rate = 0.033333333333333
- if not Pos then
- local Pos = Vector3.new(0, 0, 0)
- end
- local Text = Text or ""
- local Time = Time or 2
- if not Color then
- local Color = Color3.new(1, 0, 1)
- end
- local EffectPart = CreatePart(workspace, "SmoothPlastic", 0, 1, BrickColor.new(Color), "Effect", Vector3.new(0, 0, 0))
- EffectPart.Anchored = true
- local BillboardGui = Create("BillboardGui")({Size = UDim2.new(3, 0, 3, 0), Adornee = EffectPart, Parent = EffectPart})
- local TextLabel = Create("TextLabel")({BackgroundTransparency = 1, Size = UDim2.new(1, 0, 1, 0), Text = Text, TextColor3 = Color, TextScaled = true, Font = Enum.Font.ArialBold, Parent = BillboardGui})
- game.Debris:AddItem(EffectPart, Time + 0.1)
- EffectPart.Parent = game:GetService("Workspace")
- delay(0, function()
- local Frames = Time / Rate
- for Frame = 1, Frames do
- wait(Rate)
- local Percent = Frame / Frames
- EffectPart.CFrame = CFrame.new(Pos) + Vector3.new(0, Percent, 0)
- TextLabel.TextTransparency = Percent
- end
- if EffectPart and EffectPart.Parent then
- EffectPart:Destroy()
- end
- end
- )
- end
- equip=function()
- repeat wait() until Dmoves==false
- input=""
- Koy=""
- ORH=Torso["Right Hip"]
- OLW=Torso["Left Shoulder"]
- OLH=Torso["Left Hip"]
- ORW=Torso["Right Shoulder"]
- ORH.Parent=nil
- OLW.Parent=nil
- OLH.Parent=nil
- ORW.Parent=nil
- Animate.Parent=nil
- Animator.Parent=nil
- RW.Parent=Torso
- RW.Part0=Torso
- RW.Part1=RightArm
- RW.C0=CFrame.new(1.5, 0, 0)
- RW.C1=CFrame.new(0, 0, 0)
- LW.Parent=Torso
- LW.Part0=Torso
- LW.Part1=LeftArm
- LW.C0=CFrame.new(-1.5, 0, 0)
- LW.C1=CFrame.new(0, 0, 0)
- RH.Parent=Torso
- RH.Part0=Torso
- RH.Part1=RightLeg
- RH.C0=CFrame.new(.5, -2, 0)
- RH.C1=CFrame.new(0, 0, 0)
- LH.Parent=Torso
- LH.Part0=Torso
- LH.Part1=LeftLeg
- LH.C0=CFrame.new(-.5, -2, 0)
- LH.C1=CFrame.new(0, 0, 0)
- RootJoint.C1 = CFrame.new(0, 0, 0)
- RootJoint.C0 = CFrame.new(0, 0, 0)
- Torso.Neck.C1 = CFrame.new(0, 0, 0)
- Torso.Neck.C0 = CFrame.new(0, 1.5, 0)
- equipped=true
- doingmoves(true)
- --hi
- doingmoves(false)
- end
- de_equip=function()
- if equipped==false then return end
- repeat wait() until Dmoves==false
- doingmoves(true)
- --bye
- doingmoves(false)
- input=""
- RW.Parent=nil
- LW.Parent=nil
- RH.Parent=nil
- LH.Parent=nil
- ORW.Parent=Torso
- ORH.Parent=Torso
- OLW.Parent=Torso
- OLH.Parent=Torso
- Torso.Neck.C1 = CFrame.new(0, 0, 0)
- Torso.Neck.C0 = CFrame.new(0, 1.5, 0)
- RootJoint.C0=clerp(RootJoint.C0,RootCF,1)
- Animate.Parent=char
- Animator.Parent=Humanoid
- RootJoint.C1=r1m
- RootJoint.C0=r0m
- Neck.C1=n1m
- Neck.C0=n0m
- Humanoid.WalkSpeed=16
- r1m=RootJoint.C1
- r0m=RootJoint.C0
- n1m=Neck.C1
- n0m=Neck.C0
- equipped=false
- end
- ------------------[[Attacks]]--------------------
- MovesTable={}
- table.insert(MovesTable,{["Key"] = "c" ,["Name"]="", ["CanCancel"] = false ,
- ["Conditions"] = function()
- local Viable = false
- local Move = nil
- for _,p in pairs(MovesTable) do
- if p["Key"] == "c" then
- Move = p
- break
- end
- end
- if CanCancel==true and cooldown3 >= co3 then
- cooldown3=0
- Viable=true
- end
- return Viable
- end,
- ["function"] = function()
- doingmoves(true)
- for i=1,10 do
- swait()
- PlayAnimationFromTable(AnimTab["C"](1),.3,false)
- end
- Humanoid.WalkSpeed=0
- local lightning=true
- p=Par(EffectModel,"Effect","Really red",vt(1,1,1),"SmoothPlastic")
- p.CFrame=RootPart.CFrame*CFrame.new(0,17,0)
- p.Transparency=1
- local from=p
- local bill=Instance.new("BillboardGui",p)
- bill.Size=UDim2.new(15,0,15,0)
- local ORGbill=bill
- local billimg=Instance.new("ImageLabel",bill)
- local ORGbillimg=billimg
- billimg.BackgroundTransparency=1
- billimg.Size=UDim2.new(1,0,1,0)
- billimg.Image="rbxgameasset://Images/oyes"
- billimg.ImageColor3=BrickColor.new("Deep orange").Color
- for i=1,5 do
- swait()
- local orb1=Instance.new("Part",EffectModel)
- orb1.Anchored=false
- orb1.Transparency=1
- orb1.CanCollide=false
- orb1.Size=Vector3.new()
- local orb2=Instance.new("Part",orb1)
- orb2.Anchored=false
- orb2.Transparency=1
- orb2.CanCollide=false
- orb2.BrickColor=BrickColor.new("New Yeller")
- orb2.Material = "Neon"
- orb2.Size=Vector3.new()
- local OrbMesh = Instance.new("SpecialMesh",orb2)
- OrbMesh.MeshType="Sphere"
- OrbMesh.Scale=Vector3.new(1,1,1)
- local orbW = weld(orb1, orb1, RootPart,CFrame.new())
- local orbW2 = weld(orb2, orb2, orb1, cf(0, 0, 0))
- table.insert(Orbs, {orb1, "Orb", orb2, orbW, orbW2, 400, 0, CFrame.new(0, math.random(10,30), 0), 0, CFrame.Angles(math.random(-50, 50), math.random(-50, 50), math.random(-50, 50)), 0, math.random(2, 5) / 100, math.random(10, 15) / 100, math.random(2, 5) / 100, 0})
- local pe=script.pe:clone()
- pe.Parent=orb2
- pe.Enabled=true
- coroutine.resume(coroutine.create(function()
- repeat wait() until lightning==false
- pe.Enabled=false
- game.Debris:AddItem(orb1,1)
- end))
- end
- coroutine.resume(coroutine.create(function()
- local num=0
- while lightning do
- num=num+1
- if num>=3 then
- num=0
- so("206083232",RootPart,1,.8)
- so("206083252",RootPart,1,2)
- end
- swait()
- local ecksdee=27
- billimg.Rotation=billimg.Rotation+5
- Lightning2(from.Position,Torso.Position+Vector3.new(math.random(-ecksdee,ecksdee),0,math.random(-ecksdee,ecksdee)),6,2,"Really red",.5,.5,5)
- end
- for i=1,10 do
- swait()
- bill.Size=bill.Size+UDim2.new(1,0,1,0)
- billimg.ImageTransparency=i/10
- end
- from:Destroy()
- end))
- for i=1,25 do
- swait(2)
- MagnitudeDamage(RootPart,28,1,Vector3.new(0,1,0)+DIR*5,0.5,"H2",0,false,false)
- CamShake(RootPart,27,.4,5)
- local p=Par(EffectModel,"Effect","Really red",vt(1,1,1),"SmoothPlastic")
- p.CFrame=CFrame.new(Character.Torso.Position-Vector3.new(0,1.5,0))*CFrame.Angles(0,math.random(-50,50),0)
- game:GetService("Debris"):AddItem(p,8)
- local m=Instance.new("SpecialMesh",p)
- m.MeshId="http://www.roblox.com/asset/?id=20329976"
- m.Scale=Vector3.new(2,2,2)
- coroutine.resume(coroutine.create(function(p,s)
- for i=1, 20 do
- p.Transparency=.5+i/20
- m.Scale=m.Scale + Vector3.new(3.5,-.1,3.5)
- p.CFrame = p.CFrame * CFrame.Angles(0,math.rad(10 + i),0) - Vector3.new(0,.05,0)
- swait()
- end
- p:Remove()
- end),p)
- local p=Par(EffectModel,"Effect","Really red",vt(1,1,1),"SmoothPlastic")
- p.CFrame=CFrame.new(Character.Torso.Position-Vector3.new(0,1.5,0))*CFrame.Angles(0,math.random(-50,50),0)
- game:GetService("Debris"):AddItem(p,8)
- local m=Instance.new("SpecialMesh",p)
- m.MeshId="http://www.roblox.com/asset/?id=737406442"
- m.Scale=Vector3.new(.1,0,.1)
- coroutine.resume(coroutine.create(function(p,s)
- for i=1, 20 do
- p.Transparency=.5+i/20
- m.Scale=m.Scale + Vector3.new(.01,0,.01)
- p.CFrame = p.CFrame * CFrame.Angles(0,math.rad(10 + i),0)
- swait()
- end
- p:Remove()
- end),p)
- end
- lightning=false
- doingmoves(false)
- end})
- table.insert(MovesTable,{["Key"] = "z" ,["Name"]="", ["CanCancel"] = false ,
- ["Conditions"] = function()
- local Viable = false
- local Move = nil
- for _,p in pairs(MovesTable) do
- if p["Key"] == "z" then
- Move = p
- break
- end
- end
- if CanCancel==true and cooldown1 >= co1 then
- cooldown1=0
- Viable=true
- end
- return Viable
- end,
- ["function"] = function()
- doingmoves(true)
- for i=1,10 do
- swait()
- PlayAnimationFromTable(AnimTab["Z"](1),.3,false)
- local blast2=Par(EffectModel,"Effect","Really red",vt(.5,.5,.5),"Neon")
- blast2.CFrame=RightArm.CFrame*CFrame.new(0,-2,0)*CFrame.fromEulerAnglesXYZ(math.random(-10,10),math.random(-10,10),math.random(-10,10))
- local m=Instance.new("SpecialMesh",blast2)
- m.Scale=Vector3.new(1.5,1.5,1.5)
- m.MeshType="Brick"
- coroutine.resume(coroutine.create(function(p)
- for i=1, 15 do
- blast2.Transparency=i/15
- m.Scale=m.Scale+Vector3.new(.1,.1,.1)
- swait()
- end
- blast2:Remove()
- end),p)
- end
- for i=1,8 do
- BreakEffect(BrickColor.new("White"),RightArm.CFrame*CFrame.new(0,-1.4,0),math.random(20,50)/100,math.random(1,5)*3,math.random(20,50)/100)
- end
- local sref=part(3,nil,0,1,BrickColor.new("Black"),"Reference",vt())
- sref.Anchored=true
- for i=1,math.random(2,4) do
- local MouseLook=cf((RootPart.Position+mouse.Hit.p)/2,mouse.Hit.p)
- local hit,pos=rayCast(RootPart.Position,MouseLook.lookVector,9999,Character)
- local random=cf(math.random(-1000,1000)/100,0,math.random(-1000,1000)/100)
- sref.CFrame=cf(pos)*random
- local hit,pos=rayCast(sref.Position,(CFrame.new(sref.Position,sref.Position - Vector3.new(0,1,0))).lookVector,999,Character)
- local blast2=Par(EffectModel,"Effect","White",vt(1,1,1),"Neon")
- blast2.CFrame=sref.CFrame
- local m=Instance.new("CylinderMesh",blast2)
- m.Scale=Vector3.new(10,.003,10)
- local bmeo=Par(EffectModel,"Effect","New yeller",vt(1,1,1),"Neon")
- bmeo.CFrame=sref.CFrame
- local m=Instance.new("CylinderMesh",bmeo)
- m.Scale=Vector3.new(10,.003,10)
- bmeo.Mesh.Scale=Vector3.new(0,.005,0)
- bmeo.Size=bmeo.Size+Vector3.new(0,0.1,0)
- bmeo.BrickColor=BrickColor.new("Deep orange")
- bmeo.Transparency=0.5
- local coo=sref.CFrame
- coroutine.resume(coroutine.create(function(p)
- for i=1, 50 do
- local ee=10/50
- bmeo.Mesh.Scale=bmeo.Mesh.Scale+Vector3.new(ee,0,ee)
- swait()
- end
- for i=1, 2 do
- p=Par(EffectModel,"Effect","White",vt(1,1,1),"SmoothPlastic")
- p.CFrame=coo * CFrame.fromEulerAnglesXYZ(math.random(-10,10),math.random(-10,10),math.random(-10,10))
- m=Instance.new("SpecialMesh")
- m.MeshId="http://www.roblox.com/asset/?id=3270017"
- m.Scale=Vector3.new(10,10,0)
- m.Parent=p
- game:GetService("Debris"):AddItem(p,5)
- coroutine.resume(coroutine.create(function(p,l)
- for i=1, 20 do
- p.Transparency=.5+i/20
- p.Mesh.Scale=p.Mesh.Scale+Vector3.new(.5*3,.5*3,0)
- swait()
- end
- p:Remove() end),p,3/3)
- end
- for i=1,8 do
- BreakEffect(BrickColor.new("White"),coo*cf(math.random(-200,200)/100,math.random(-200,200)/100,math.random(-200,200)/100),math.random(20,50)/100,math.random(1,5)*3,math.random(20,50)/100)
- end
- for loel = 1,2 do
- local pc2 = Par2(Vector3.new(1, 1, 1), coo * CFrame.Angles(math.random(-15, 15), math.random(-15, 15), math.random(-15, 15)), "New Yeller", "BlockMesh", Vector3.new(3,3,3))
- pc2.Parent = EffectModel
- pc2.Anchored = true
- pc2.CanCollide = false
- game:GetService("Debris"):AddItem(pc2, 5)
- pc2.Material="Neon"
- coroutine.resume(coroutine.create(function(p, V, x)
- for i = 1, 15 do
- p.Mesh.Scale = p.Mesh.Scale + Vector3.new(14 + loel * 18, 14 + loel * 18, 14 + loel * 18) / 45
- p.Transparency = 0.25 + i / 15
- p.CFrame = p.CFrame * V
- swait()
- end
- p:Remove()
- end), pc2, CFrame.Angles(math.rad(math.random(-8, 8)), math.rad(math.random(-8, 8)), math.rad(math.random(-8, 8))))
- end
- so("338594574",blast2,1,1)
- MagnitudeDamage(blast2,12,math.random(13,20),Vector3.new(0,5,0)+DIR*13,0.5,"H2",0.1,false,false)
- CamShake(blast2,12,.3,10)
- for i=1,25 do
- swait()
- blast2.Transparency=i/25
- bmeo.Transparency=0.5+i/25
- end
- bmeo.Parent=nil
- blast2:Remove()
- end),p)
- end
- sref:Destroy()
- swait(10)
- doingmoves(false)
- end})
- table.insert(MovesTable,{["Key"] = "x" ,["Name"]="", ["CanCancel"] = false ,
- ["Conditions"] = function()
- local Viable = false
- local Move = nil
- for _,p in pairs(MovesTable) do
- if p["Key"] == "x" then
- Move = p
- break
- end
- end
- if CanCancel==true and cooldown2>=co2 then
- cooldown2=0
- Viable=true
- end
- return Viable
- end,
- ["function"] = function()
- doingmoves(true)
- Humanoid.WalkSpeed=0
- local goto=part(3,EffectModel,0,1,BrickColor.new("Black"),"Reference",vt())
- goto.Anchored=true
- goto.CFrame=RootPart.CFrame*CFrame.new(0,0,-10)
- local startpos=part(3,EffectModel,0,1,BrickColor.new("Black"),"Reference",vt())
- startpos.Anchored=true
- startpos.Transparency=1
- goto.Transparency=1
- local num=0
- for i=1,60 do
- PlayAnimationFromTable(AnimTab["X"](1),.3,false)
- swait()
- local DIR=RootPart.CFrame.lookVector
- local CPlayer=char
- local p=Par(EffectModel,"Effect","White",vt(1,1,1),"SmoothPlastic")
- p.Transparency=.5
- p.Anchored=true
- p.CFrame=CFrame.new(startpos.Position,CPlayer["HumanoidRootPart"].Position+DIR*20) * CFrame.fromEulerAnglesXYZ(math.rad(90),math.random(-360,360),0)
- m=Instance.new("SpecialMesh",p)
- m.MeshId="http://www.roblox.com/asset/?id=20329976"
- m.Scale=Vector3.new(2,2,2)
- coroutine.resume(coroutine.create(function(p) for i=1, 15 do
- p.Mesh.Scale=p.Mesh.Scale+Vector3.new(1.5-i*.1,.15,1.5-i*.1)
- p.Transparency=0.5+i/15
- p.CFrame=p.CFrame*CFrame.new(0,.5,0)*CFrame.fromEulerAnglesXYZ(0,math.rad(8),0)
- swait()
- end
- p:Destroy()
- end),p)
- startpos.CFrame=RootPart.CFrame*CFrame.new(0,.5,-3)
- local hit,pos=rayCast(startpos.Position,startpos.CFrame.lookVector,100,Character)
- goto.CFrame=CFrame.new(pos)
- local endpos=goto
- local beam=it("Part",EffectModel)
- beam.Anchored=true
- beam.CanCollide=false
- beam.BrickColor=BrickColor.new("Deep orange")
- local beamM=it("CylinderMesh",beam)
- beam.Material="Neon"
- beam.Size = Vector3.new(2, (startpos.Position - endpos.Position).magnitude,2)
- beam.CFrame = CFrame.new((startpos.Position+ endpos.Position)/2, startpos.Position) * CFrame.Angles(math.pi/2, 0, 0)
- coroutine.resume(coroutine.create(function() for i=1,5 do swait() beam.Transparency=i/5 beamM.Scale=beamM.Scale+Vector3.new(.6,0,.6) end beam:Destroy() end))
- num=num+1
- if num>=3 then
- local p =Par(EffectModel,"Effect","Black",vt(1,1,1),"Neon")
- local s = math.random(1,35)/10
- local m = Instance.new("BlockMesh",p)
- m.Scale = Vector3.new(s,s,s)
- p.CFrame = RootPart.CFrame*CFrame.new(math.random(-10,10),math.random(-2,4),math.random(-10,10))*CFrame.Angles(math.random(),math.random(),math.random())
- coroutine.resume(coroutine.create(function(p)
- for i=1,30 do
- swait()
- p.CFrame = p.CFrame*CFrame.Angles(math.rad(2),math.rad(2),math.rad(2))+Vector3.new(0,0.4,0)
- p.Transparency = i/30
- end p.Parent=nil end),p)
- so("183763515", endpos, 1, 1.2)
- so("178452221", endpos, 1, 0.7)
- so("161006069", endpos, 1, 1)
- num=0
- MagnitudeDamage(endpos,10,1,Vector3.new(),.5,"H2",0,false,false)
- CamShake(endpos,10,.2,8)
- CamShake(RootPart,7,.2,8)
- local blast2=Instance.new("Part",EffectModel)
- blast2.Anchored=true
- blast2.CanCollide=false
- blast2.Size=Vector3.new(1,1,1)
- blast2.CFrame=cf(pos)*CFrame.fromEulerAnglesXYZ(math.random(-10,10),math.random(-10,10),math.random(-10,10))
- m=Instance.new("SpecialMesh",blast2)
- m.Scale=Vector3.new(3.5,3.5,3.5)
- m.MeshType="Brick"
- blast2.BrickColor=BrickColor.new("New yeller")
- blast2.Material="Neon"
- coroutine.resume(coroutine.create(function(p)
- local R = CFrame.Angles(math.random(-3,3),math.random(-4,4),math.random(-5,5))
- local C = Vector3.new(math.random(-5,5)/40,math.random(-5,5)/40,math.random(-5,5)/40)
- for i=1, 20 do
- p.Mesh.Scale = p.Mesh.Scale - Vector3.new(1,1,1)/30
- p.Transparency = .5 + i/40
- p.CFrame = p.CFrame * R - Vector3.new(0,9.82/30/11*i,0) + C
- swait()
- end
- p:Remove()
- end),blast2)
- p=Par(EffectModel,"Effect","White",vt(1,1,1),"SmoothPlastic")
- p.CFrame=cf(pos)* CFrame.fromEulerAnglesXYZ(math.random(-10,10),math.random(-10,10),math.random(-10,10))
- m=Instance.new("SpecialMesh")
- m.MeshId="http://www.roblox.com/asset/?id=3270017"
- m.Scale=Vector3.new(10,10,0)
- m.Parent=p
- game:GetService("Debris"):AddItem(p,5)
- coroutine.resume(coroutine.create(function(p,l)
- for i=1, 20 do
- p.Transparency=.5+i/20
- p.Mesh.Scale=p.Mesh.Scale+Vector3.new(.5*1,.5*1,0)
- swait()
- end
- p:Remove() end),p,3/3)
- num=0
- end
- end
- doingmoves(false)
- end})
- -------------[[Click Combo]]----------------------
- ClickOne=function()
- doingmoves(true)
- for i=1,10 do
- swait()
- PlayAnimationFromTable(AnimTab["ClickCombo"](1),.3,false)
- end
- so("200632136",RightArm,1,1)
- for i=1,10 do
- local blast2=Par(EffectModel,"Effect","White",vt(.5,.5,.5),"Neon")
- blast2.CFrame=RightArm.CFrame*CFrame.new(0,-2,0)*CFrame.fromEulerAnglesXYZ(math.random(-10,10),math.random(-10,10),math.random(-10,10))
- local m=Instance.new("SpecialMesh",blast2)
- m.Scale=Vector3.new(1.5,1.5,1.5)
- m.MeshType="Sphere"
- coroutine.resume(coroutine.create(function(p)
- for i=1, 15 do
- blast2.Transparency=i/15
- swait()
- end
- blast2:Remove()
- end),p)
- local blast2=Par(EffectModel,"Effect","New Yeller",vt(.5,.5,.5),"Neon")
- blast2.CFrame=RightArm.CFrame*CFrame.new(0,-2,0)*CFrame.fromEulerAnglesXYZ(math.random(-10,10),math.random(-10,10),math.random(-10,10))
- local m=Instance.new("SpecialMesh",blast2)
- m.Scale=Vector3.new(3,3,3)
- m.MeshType="Sphere"
- coroutine.resume(coroutine.create(function(p)
- for i=1, 30 do
- blast2.Transparency=i/15
- swait()
- end
- blast2:Remove()
- end),p)
- MagnitudeDamage(RootPart,7,math.random(3,6),Vector3.new(0,2,0)+DIR*3,.5,"H2",.4,false,false)
- swait()
- PlayAnimationFromTable(AnimTab["ClickCombo"](2),.3,false)
- end
- doingmoves(false)
- end
- ClickTwo=function()
- doingmoves(true)
- for i=1,10 do
- swait()
- PlayAnimationFromTable(AnimTab["ClickCombo"](3),.3,false)
- end
- so("200632211",LeftLeg,1,1)
- for i=1,10 do
- local blast2=Par(EffectModel,"Effect","White",vt(.5,.5,.5),"Neon")
- blast2.CFrame=LeftArm.CFrame*CFrame.new(0,-2,0)*CFrame.fromEulerAnglesXYZ(math.random(-10,10),math.random(-10,10),math.random(-10,10))
- m=Instance.new("SpecialMesh",blast2)
- m.Scale=Vector3.new(1.5,1.5,1.5)
- m.MeshType="Sphere"
- coroutine.resume(coroutine.create(function(p)
- for i=1, 15 do
- blast2.Transparency=i/15
- swait()
- end
- blast2:Remove()
- end),p)
- local blast2=Par(EffectModel,"Effect","Deep orange",vt(.5,.5,.5),"Neon")
- blast2.CFrame=LeftArm.CFrame*CFrame.new(0,-2,0)*CFrame.fromEulerAnglesXYZ(math.random(-10,10),math.random(-10,10),math.random(-10,10))
- m=Instance.new("SpecialMesh",blast2)
- m.Scale=Vector3.new(3,3,3)
- m.MeshType="Sphere"
- coroutine.resume(coroutine.create(function(p)
- for i=1, 30 do
- blast2.Transparency=i/15
- swait()
- end
- blast2:Remove()
- end),p)
- MagnitudeDamage(RootPart,7,math.random(3,6),Vector3.new(0,2,0)+DIR*3,.5,"H2",.4,false,false)
- swait()
- PlayAnimationFromTable(AnimTab["ClickCombo"](4),.3,false)
- end
- doingmoves(false)
- end
- ClickThree=function()
- doingmoves(true)
- local swording=true
- for i=1,10 do
- swait()
- PlayAnimationFromTable(AnimTab["ClickCombo"](5),.3,false)
- end
- local sword = script.sword:clone()
- sword.Anchored=false
- sword.Parent=EffectModel
- sword.CFrame=RightArm.CFrame*CFrame.new(0,-1.1,-2.6)*CFrame.Angles(math.rad(-90),0,math.rad(0))
- local w1=weldBetween(RightArm,sword)
- local sword2 = script.sword:clone()
- sword2.Anchored=false
- sword2.Parent=EffectModel
- sword2.CFrame=LeftArm.CFrame*CFrame.new(0,-1.1,-2.6)*CFrame.Angles(math.rad(-90),0,math.rad(0))
- local w2=weldBetween(LeftArm,sword2)
- coroutine.resume(coroutine.create(function(sw,sw2)
- while swording do
- swait()
- local blast2=Par(EffectModel,"Effect","Bright red",vt(),"Neon")
- local X=sword.Size.X
- local Y=sword.Size.Y
- local Z=sword.Size.Z
- blast2.CFrame=sword.CFrame*CFrame.new(math.random(-X,X),math.random(-Y,Y),math.random(-Z,Z))*CFrame.fromEulerAnglesXYZ(math.random(-10,10),math.random(-10,10),math.random(-10,10))
- local m=Instance.new("SpecialMesh",blast2)
- m.Scale=Vector3.new(4,4,4)
- m.MeshType="Brick"
- coroutine.resume(coroutine.create(function()
- for i=1, 20 do
- blast2.Transparency=0.25+ i/20
- m.Scale=m.Scale-vt(-.1,-.1,-.1)
- swait()
- blast2.CFrame=blast2.CFrame*CFrame.fromEulerAnglesXYZ(math.random(-10,10),math.random(-10,10),math.random(-10,10))
- end
- blast2:Remove()
- end))
- local blast2=Par(EffectModel,"Effect","New yeller",vt(),"Neon")
- local X=4
- local Y=sword.Size.Y
- local Z=sword.Size.Z
- blast2.CFrame=sword2.CFrame*CFrame.new(math.random(-X,X),math.random(-Y,Y),math.random(-Z,Z))*CFrame.fromEulerAnglesXYZ(math.random(-10,10),math.random(-10,10),math.random(-10,10))
- local m=Instance.new("SpecialMesh",blast2)
- m.Scale=Vector3.new(4,4,4)
- m.MeshType="Brick"
- coroutine.resume(coroutine.create(function()
- for i=1, 20 do
- blast2.Transparency=0.25+ i/20
- m.Scale=m.Scale-vt(-.1,-.1,-.1)
- swait()
- blast2.CFrame=blast2.CFrame*CFrame.fromEulerAnglesXYZ(math.random(-10,10),math.random(-10,10),math.random(-10,10))
- end
- blast2:Remove()
- end))
- end
- end))
- so("199146359",sword,1,.6)
- so("228343324",sword,.6,.5)
- so("199146359",sword,1,.8)
- for i=1,13 do
- swait()
- sword.Transparency=i/13
- sword2.Transparency=i/13
- PlayAnimationFromTable(AnimTab["ClickCombo"](6),.3,false)
- MagnitudeDamage(RootPart,9,math.random(4,7),Vector3.new(0,2,0)+DIR*3,.5,"H2",.2,false,false)
- end
- sword.Parent=nil
- sword2.Parent=nil
- swording=false
- doingmoves(false)
- end
- ClickFour=function()
- doingmoves(true)
- local ora=Instance.new("Part",EffectModel)
- ora.Size=Vector3.new()
- ora.Transparency=1
- ora.Anchored=true
- ora.CanCollide=false
- ora.CFrame=RightArm.CFrame*CFrame.new(0,-1.4,0)
- local pe = script.ora:Clone()
- pe.Parent=ora
- --pe.Enabled=true
- for i=1,15 do
- swait()
- PlayAnimationFromTable(AnimTab["ClickCombo"](7),.3,false)
- RootPart.CFrame = RootPart.CFrame + RootPart.CFrame.lookVector * 1
- ora.CFrame=RightArm.CFrame*CFrame.new(0,-1.4,0)
- MagnitudeDamage(RootPart,7,math.random(5,8),Vector3.new(0,7,0)+DIR*8,.5,"H2",.6,false,false)
- pe:Emit(10)
- end
- pe.Enabled=false
- game.Debris:AddItem(ora,5)
- doingmoves(false)
- end
- CanCancel=true
- qhold=false
- chold=false
- dHold=false
- aHold=false
- facestate=""
- facestating=false
- ForwardKey=""
- BackwardKey=""
- mouse=Player:GetMouse()
- MouseClicks=1
- mouse.Button1Down:connect(function()
- if equipped==false then return end
- if Dmoves == false and MouseClicks == 1 then
- MouseClicks = 2
- ClickOne()
- else
- if Dmoves == false and MouseClicks == 2 then
- MouseClicks = 3
- ClickTwo()
- else
- if Dmoves == false and MouseClicks == 3 then
- MouseClicks = 4
- ClickThree()
- else
- if Dmoves==false and MouseClicks==4 then
- MouseClicks=1
- ClickFour()
- end
- end
- end
- end
- end)
- keyDOWN=function(key)
- key=key:lower()
- if key=="f" then
- if equipped==false then
- eq()
- else
- deq()
- end
- end
- if equipped==false then return end
- Koy = key
- if key=="z" or key=="x" or key=="c" or key=="v" then
- for _,m in pairs(MovesTable) do
- if key == m["Key"] then
- local Viable=m["Conditions"]()
- if Viable then
- m["function"]()
- break
- else
- break
- end
- end
- end
- end
- end
- keyUP=function(key)
- end
- mouse.KeyDown:connect(keyDOWN)
- mouse.KeyUp:connect(keyUP)
- eq=function()
- equip()
- Humanoid.JumpPower=desiredjp
- mouse=game.Players.LocalPlayer:GetMouse()
- end
- deq=function()
- de_equip()
- Humanoid.JumpPower=60
- end
- Humanoid.Died:connect( function()
- equipped=false
- end)
- local num=0
- ArtificialHB.Event:connect(function()
- local Torsovelocity = (RootPart.Velocity * Vector3.new(1, 0, 1)).magnitude
- local velocity = RootPart.Velocity.y
- local hit, pos = rayCast(RootPart.Position, (CFrame.new(RootPart.Position, RootPart.Position - Vector3.new(0, 1, 0))).lookVector, 4, Character)
- if Dmoves==false and equipped==true then
- num=num+1
- if num>=2 then
- num=0
- local blast2=Instance.new("Part",EffectModel)
- blast2.Anchored=true
- blast2.CanCollide=false
- blast2.Size=Vector3.new(1,1,1)
- blast2.CFrame=RightArm.CFrame*CFrame.new(0,-1.4,0)*CFrame.fromEulerAnglesXYZ(math.random(-10,10),math.random(-10,10),math.random(-10,10))
- m=Instance.new("SpecialMesh",blast2)
- m.Scale=Vector3.new(1.5,1.5,1.5)
- m.MeshType="Brick"
- blast2.BrickColor=BrickColor.new("New Yeller")
- blast2.Material="Neon"
- coroutine.resume(coroutine.create(function(p)
- local R = CFrame.Angles(math.random(-3,3),math.random(-4,4),math.random(-5,5))
- local C = Vector3.new(math.random(-5,5)/40,math.random(-5,5)/40,math.random(-5,5)/40)
- for i=1, 20 do
- p.Mesh.Scale = p.Mesh.Scale - Vector3.new(1,1,1)/30
- p.Transparency = .5 + i/40
- p.CFrame = p.CFrame * R - Vector3.new(0,9.82/30/11*i,0) + C
- swait()
- end
- p:Remove()
- end),blast2)
- end
- for i, v in pairs(Character:GetChildren()) do
- if v:IsA'Model' then
- for _, c in pairs(v:GetChildren()) do
- if c:IsA'Part' then
- c.CustomPhysicalProperties = PhysicalProperties.new(0.001, 0.001, 0.001, 0.001, 0.001)
- end
- end
- end
- end
- sine = sine + change
- detect_state()
- if Anim == "Jump" then
- PlayAnimationFromTable(AnimTab["Jump"](1),.3,false)
- end
- if Anim == "Fall" then
- PlayAnimationFromTable(AnimTab["Fall"](1),.3,false)
- end
- if Anim == "Idle" then
- change=1.5
- PlayAnimationFromTable(AnimTab["Idle"](1,sine),.3,false)
- end
- if Anim == "Walk" then
- change = 1.5
- local num=11
- PlayAnimationFromTable(AnimTab["Walk"](1,sine,num),.3,false)
- end
- end
- end)
- print("osama's engine l0aded")
- print("shark loaded")
- local fold=Instance.new("Folder",Player.PlayerGui)
- script.Parent=fold
- coroutine.resume(coroutine.create(function()
- while wait() do
- fold.Archivable=false
- Player.Archivable=false
- Player.PlayerGui.Archivable=false
- for i,v in pairs (fold:children()) do
- v.Archivable=false
- end
- end
- end))
- updateskills = function()
- if cooldown1 <= co1 then
- cooldown1 = cooldown1 + 0.033333333333333
- end
- if cooldown2 <= co2 then
- cooldown2 = cooldown2 + 0.033333333333333
- end
- if cooldown3 <= co3 then
- cooldown3 = cooldown3 + 0.033333333333333
- end
- if cooldown4 <= co4 then
- cooldown4 = cooldown4 + 0.033333333333333
- end
- end
- while 1 do
- if 0 < #Orbs then
- for e = 1, #Orbs do
- if Orbs[e] ~= nil then
- local OrbProperty = Orbs[e]
- OrbProperty[6] = OrbProperty[6] - 1
- OrbProperty[7] = OrbProperty[7] + OrbProperty[12]
- OrbProperty[9] = OrbProperty[9] + OrbProperty[13]
- OrbProperty[11] = OrbProperty[11] + OrbProperty[14]
- OrbProperty[4].C0 = OrbProperty[10]
- OrbProperty[5].C0 = OrbProperty[8] * euler(OrbProperty[9], OrbProperty[7], OrbProperty[11])
- end
- end
- end
- if #Effects > 0 then
- for e = 1, #Effects do
- if Effects[e] ~= nil then
- local Thing = Effects[e]
- if Thing ~= nil then
- local Part = Thing[1]
- local Mode = Thing[2]
- local Delay = Thing[3]
- local IncX = Thing[4]
- local IncY = Thing[5]
- local IncZ = Thing[6]
- if Thing[1].Transparency <= 1 then
- if Thing[2] == "Block1" then
- elseif Thing[2] == "Shatter" then
- Thing[1].Transparency = Thing[1].Transparency + Thing[3]
- Thing[4] = Thing[4] * CFrame.new(0, Thing[7], 0)
- Thing[1].CFrame = Thing[4] * CFrame.fromEulerAnglesXYZ(Thing[6], 0, 0)
- Thing[6] = Thing[6] + Thing[5]
- end
- else
- Part.Parent = nil
- table.remove(Effects, e)
- end
- end
- end
- end
- end
- swait()
- updateskills()
- bar4:TweenSize(UDim2.new(1 * (cooldown4 / co4), 0, 1, 0), "Out", "Quad", 0.5)
- bar3:TweenSize(UDim2.new(1 * (cooldown3 / co3), 0, 1, 0), "Out", "Quad", 0.5)
- bar1:TweenSize(UDim2.new(1 * (cooldown1 / co1), 0, 1, 0), "Out", "Quad", 0.5)
- bar2:TweenSize(UDim2.new(1 * (cooldown2 / co2), 0, 1, 0), "Out", "Quad", 0.5)
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement