Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 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
- do
- print("FE Compatibility code by Mokiros | Translated to FE by Phantom Ghost")
- script.Parent = Player.Character
- --RemoteEvent for communicating
- local Event = Instance.new("RemoteEvent")
- Event.Name = "UserInput_Event"
- --Fake event to make stuff like Mouse.KeyDown work
- local function fakeEvent()
- local t = {_fakeEvent=true,Connect=function(self,f)self.Function=f end}
- t.connect = t.Connect
- return t
- end
- --Creating fake input objects with fake variables
- local m = {Target=nil,Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent()}
- local UIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()}
- local CAS = {Actions={},BindAction=function(self,name,fun,touch,...)
- CAS.Actions[name] = fun and {Name=name,Function=fun,Keys={...}} or nil
- end}
- --Merged 2 functions into one by checking amount of arguments
- CAS.UnbindAction = CAS.BindAction
- --This function will trigger the events that have been :Connect()'ed
- local function te(self,ev,...)
- local t = m[ev]
- if t and t._fakeEvent and t.Function then
- t.Function(...)
- end
- end
- m.TrigEvent = te
- UIS.TrigEvent = te
- Event.OnServerEvent:Connect(function(plr,io)
- if plr~=Player then return end
- if io.isMouse then
- m.Target = io.Target
- m.Hit = io.Hit
- else
- local b = io.UserInputState == Enum.UserInputState.Begin
- if io.UserInputType == Enum.UserInputType.MouseButton1 then
- return m:TrigEvent(b and "Button1Down" or "Button1Up")
- end
- for _,t in pairs(CAS.Actions) do
- for _,k in pairs(t.Keys) do
- if k==io.KeyCode then
- t.Function(t.Name,io.UserInputState,io)
- end
- end
- end
- m:TrigEvent(b and "KeyDown" or "KeyUp",io.KeyCode.Name:lower())
- UIS:TrigEvent(b and "InputBegan" or "InputEnded",io,false)
- end
- end)
- Event.Parent = NLS([==[
- local Player = game:GetService("Players").LocalPlayer
- local Event = script:WaitForChild("UserInput_Event")
- local UIS = game:GetService("UserInputService")
- local input = function(io,a)
- if a then return end
- --Since InputObject is a client-side instance, we create and pass table instead
- Event:FireServer({KeyCode=io.KeyCode,UserInputType=io.UserInputType,UserInputState=io.UserInputState})
- end
- UIS.InputBegan:Connect(input)
- UIS.InputEnded:Connect(input)
- local Mouse = Player:GetMouse()
- local h,t
- --Give the server mouse data 30 times every second, but only if the values changed
- --If player is not moving their mouse, client won't fire events
- while wait(1/30) do
- if h~=Mouse.Hit or t~=Mouse.Target then
- h,t=Mouse.Hit,Mouse.Target
- Event:FireServer({isMouse=true,Target=t,Hit=h})
- end
- end]==],Player.Character)
- Mouse,mouse,UserInputService,ContextActionService = m,m,UIS,CAS
- end
- wait(1 / 60)
- p = owner
- char = p.Character
- torso = char.Torso
- neck = char.Torso.Neck
- hum = char.Humanoid
- hum.MaxHealth = 75000
- wait()
- hum.Health =hum.MaxHealth
- char.Head.face.Texture = "rbxassetid://405587215"
- function startup()
- coroutine.resume(coroutine.create(function()
- local m = Instance.new("Model", char)
- m.Name = "* C"
- local chat = Instance.new("Part", m)
- chat.TopSurface = "Smooth"
- chat.BottomSurface = "Smooth"
- chat.Name = "Head"
- chat.FormFactor = "Custom"
- chat.Size = Vector3.new(0.05, 0.05, 0.1)
- chat.Transparency = 0.9
- chat.CanCollide = false
- local Weld7 = Instance.new("Weld", char)
- Weld7.Part0 = char.Head
- Weld7.Part1 = chat
- Weld7.C1 = CFrame.new(0, -2, 0) * CFrame.fromEulerAnglesXYZ(0, 0, 0)
- local cy7 = Instance.new("BlockMesh", chat)
- local h = Instance.new("Humanoid", m)
- h.MaxHealth = 0
- m.Name = "Star Platinum"
- end))
- end
- z = Instance.new("Sound", torso)
- z.SoundId = "rbxassetid://264396581" -- Put Music ID Here.
- z.Looped = true
- z.Volume = 1
- wait(.1)
- z:Play()
- char["Body Colors"].HeadColor = BrickColor.new("Pastel Blue")
- char["Body Colors"].TorsoColor = BrickColor.new("Pastel Blue")
- char["Body Colors"].LeftArmColor = BrickColor.new("Pastel Blue")
- char["Body Colors"].RightArmColor = BrickColor.new("Pastel Blue")
- char["Body Colors"].LeftLegColor = BrickColor.new("Pastel Blue")
- char["Body Colors"].RightLegColor = BrickColor.new("Pastel Blue")
- shirt = Instance.new("Shirt", char)
- shirt.Name = "Shirt"
- pants = Instance.new("Pants", char)
- pants.Name = "Pants"
- char.Shirt.ShirtTemplate = "rbxassetid://496506720"
- char.Pants.PantsTemplate = "rbxassetid://496512137"
- Hat = Instance.new("Model")
- Hat.Parent = char
- Hat.Name = "Hat"
- rh = Instance.new("Part")
- rh.Parent = Hat
- rh.BrickColor = BrickColor.new("Really black")
- rh.Locked = true
- rh.CanCollide = false
- mesh = Instance.new("SpecialMesh")
- rh.formFactor = "Symmetric"
- mesh.MeshType = "FileMesh"
- mesh.MeshId = "rbxassetid://439736904"
- mesh.Parent = rh
- local weld = Instance.new("Weld")
- weld.Parent = rh
- weld.Part0 = rh
- weld.Part1 =char.Head
- weld.C0 = CFrame.new(0, -0.5, 0.5)*CFrame.Angles(0, 3, 0)
- mesh.Scale = Vector3.new(0.002,0.002, 0.002)
- Effects = { }
- local Player = owner
- local Character = Player.Character
- local Humanoid = Character.Humanoid
- Humanoid.WalkSpeed = 20
- local Mouse = Player:GetMouse()
- 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 Camera = game.Workspace.CurrentCamera
- local RootPart = Character.HumanoidRootPart
- local RootJoint = RootPart.RootJoint
- local attack = false
- local Anim = 'Idle'
- 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 Create = LoadLibrary("RbxUtility").Create
- local TimeStop = false
- local m = Create("Model"){
- Parent = Character,
- Name = "WeaponModel",
- }
- Humanoid.Animator.Parent = nil
- Character.Animate.Parent = nil
- local newMotor = function(part0, part1, c0, c1)
- local w = Create('Motor'){
- Parent = part0,
- Part0 = part0,
- Part1 = part1,
- C0 = c0,
- C1 = c1,
- }
- return w
- end
- function clerp(a, b, t)
- return a:lerp(b, t)
- end
- RootCF = CFrame.fromEulerAnglesXYZ(-1.57, 0, 3.14)
- NeckCF = CFrame.new(0, 1, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
- local RW = newMotor(Torso, RightArm, CFrame.new(1.5, 0, 0), CFrame.new(0, 0, 0))
- local LW = newMotor(Torso, LeftArm, CFrame.new(-1.5, 0, 0), CFrame.new(0, 0, 0))
- local RH = newMotor(Torso, RightLeg, CFrame.new(.5, -2, 0), CFrame.new(0, 0, 0))
- local LH = newMotor(Torso, LeftLeg, CFrame.new(-.5, -2, 0), 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)
- local rarmc1 = RW.C1
- local larmc1 = LW.C1
- local rlegc1 = RH.C1
- local llegc1 = LH.C1
- local resetc1 = false
- function PlayAnimationFromTable(table, speed, bool)
- RootJoint.C0 = clerp(RootJoint.C0, table[1], speed)
- Torso.Neck.C0 = clerp(Torso.Neck.C0, table[2], speed)
- RW.C0 = clerp(RW.C0, table[3], speed)
- LW.C0 = clerp(LW.C0, table[4], speed)
- RH.C0 = clerp(RH.C0, table[5], speed)
- LH.C0 = clerp(LH.C0, table[6], speed)
- 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
- ArtificialHB = Create("BindableEvent", script){
- Parent = script,
- Name = "Heartbeat",
- }
- script:WaitForChild("Heartbeat")
- frame = 1 / 35
- 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
- function RemoveOutlines(part)
- part.TopSurface, part.BottomSurface, part.LeftSurface, part.RightSurface, part.FrontSurface, part.BackSurface = 10, 10, 10, 10, 10, 10
- end
- CFuncs = {
- Part = {
- Create = function(Parent, Material, Reflectance, Transparency, BColor, Name, Size)
- 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;
- };
- Mesh = {
- Create = function(Mesh, Part, MeshType, MeshId, OffSet, Scale)
- local Msh = Create(Mesh){
- Parent = Part,
- Offset = OffSet,
- Scale = Scale,
- }
- if Mesh == "SpecialMesh" then
- Msh.MeshType = MeshType
- Msh.MeshId = MeshId
- end
- return Msh
- end;
- };
- Weld = {
- Create = function(Parent, Part0, Part1, C0, C1)
- local Weld = Create("Weld"){
- Parent = Parent,
- Part0 = Part0,
- Part1 = Part1,
- C0 = C0,
- C1 = C1,
- }
- return Weld
- end;
- };
- Sound = {
- Create = function(id, par, vol, pit)
- local Sound = Create("Sound"){
- Volume = vol,
- Pitch = pit or 1,
- SoundId = "rbxassetid://" .. id,
- Parent = par or workspace,
- }
- Sound:play()
- return Sound
- end;
- };
- Decal = {
- Create = function(Color, Texture, Transparency, Name, Parent)
- local Decal = Create("Decal"){
- Color3 = Color,
- Texture = "rbxassetid://" .. Texture,
- Transparency = Transparency,
- Name = Name,
- Parent = Parent,
- }
- return Decal
- end;
- };
- BillboardGui = {
- Create = function(Parent, Image, Position, Size)
- local BillPar = CFuncs.Part.Create(Parent, "SmoothPlastic", 0, 1, BrickColor.new("Black"), "BillboardGuiPart", Vector3.new(1, 1, 1))
- BillPar.CFrame = CFrame.new(Position)
- local Bill = Create("BillboardGui"){
- Parent = BillPar,
- Adornee = BillPar,
- Size = UDim2.new(1, 0, 1, 0),
- SizeOffset = Vector2.new(Size, Size),
- }
- local d = Create("ImageLabel", Bill){
- Parent = Bill,
- BackgroundTransparency = 1,
- Size = UDim2.new(1, 0, 1, 0),
- Image = "rbxassetid://" .. Image,
- }
- return BillPar
- end
- };
- ParticleEmitter = {
- Create = function(Parent, Color1, Color2, LightEmission, Size, Texture, Transparency, ZOffset, Accel, Drag, LockedToPart, VelocityInheritance, EmissionDirection, Enabled, LifeTime, Rate, Rotation, RotSpeed, Speed, VelocitySpread)
- local Particle = Create("ParticleEmitter"){
- Parent = Parent,
- Color = ColorSequence.new(Color1, Color2),
- LightEmission = LightEmission,
- Size = Size,
- Texture = Texture,
- Transparency = Transparency,
- ZOffset = ZOffset,
- Acceleration = Accel,
- Drag = Drag,
- LockedToPart = LockedToPart,
- VelocityInheritance = VelocityInheritance,
- EmissionDirection = EmissionDirection,
- Enabled = Enabled,
- Lifetime = LifeTime,
- Rate = Rate,
- Rotation = Rotation,
- RotSpeed = RotSpeed,
- Speed = Speed,
- VelocitySpread = VelocitySpread,
- }
- return Particle
- end;
- };
- CreateTemplate = {
- };
- }
- function rayCast(Position, Direction, Range, Ignore)
- return game:service("Workspace"):FindPartOnRay(Ray.new(Position, Direction.unit * (Range or 999.999)), Ignore)
- end
- function FindNearestTorso(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 ~= Character then
- if (v.Torso.Position - Position).magnitude <= Distance then
- table.insert(List, v)
- end
- end
- end
- end
- end
- return List
- end
- function Damage(Part, hit, minim, maxim, knockback, Type, Property, Delay, HitSound, HitPitch)
- if hit.Parent == nil then
- return
- end
- local h = hit.Parent:FindFirstChild("Humanoid")
- for _, v in pairs(hit.Parent:children()) do
- if v:IsA("Humanoid") then
- h = v
- end
- end
- if h ~= nil and hit.Parent.Name ~= Character.Name and hit.Parent:FindFirstChild("Torso") ~= nil then
- if hit.Parent:findFirstChild("DebounceHit") ~= nil then
- if hit.Parent.DebounceHit.Value == true then
- return
- end
- end
- local c = Create("ObjectValue"){
- Name = "creator",
- Value = game:service("Players").LocalPlayer,
- Parent = h,
- }
- game:GetService("Debris"):AddItem(c, .5)
- CFuncs.Sound.Create(HitSound, hit, 1, HitPitch)
- local Damage = math.random(minim, maxim)
- local blocked = false
- local block = hit.Parent:findFirstChild("Block")
- if block ~= nil then
- if block.className == "IntValue" then
- if block.Value > 0 then
- blocked = true
- block.Value = block.Value - 1
- print(block.Value)
- end
- end
- end
- if TimeStop == false then
- h.Health = h.Health - Damage
- ShowDamage((Part.CFrame * CFrame.new(0, 0, (Part.Size.Z / 2)).p + Vector3.new(0, 1.5, 0)), -Damage, 1.5, BrickColor.new("Deep blue").Color)
- elseif TimeStop == true then
- repeat wait() until TimeStop == false
- h.Health = h.Health - (Damage / 2)
- ShowDamage((Part.CFrame * CFrame.new(0, 0, (Part.Size.Z / 2)).p + Vector3.new(0, 1.5, 0)), -Damage, 1.5, BrickColor.new("Deep blue").Color)
- end
- if Type == "Knockdown" then
- local hum = hit.Parent.Humanoid
- hum.PlatformStand = true
- coroutine.resume(coroutine.create(function(HHumanoid)
- swait(1)
- HHumanoid.PlatformStand = false
- end), hum)
- local angle = (hit.Position - (Property.Position + Vector3.new(0, 0, 0))).unit
- local bodvol = Create("BodyVelocity"){
- velocity = angle * knockback,
- P = 5000,
- maxForce = Vector3.new(8e+003, 8e+003, 8e+003),
- Parent = hit,
- }
- local rl = Create("BodyAngularVelocity"){
- P = 3000,
- maxTorque = Vector3.new(500000, 500000, 500000) * 50000000000000,
- angularvelocity = Vector3.new(math.random(-10, 10), math.random(-10, 10), math.random(-10, 10)),
- Parent = hit,
- }
- game:GetService("Debris"):AddItem(bodvol, .5)
- game:GetService("Debris"):AddItem(rl, .5)
- elseif Type == "Normal" then
- local vp = Create("BodyVelocity"){
- P = 500,
- maxForce = Vector3.new(math.huge, 0, math.huge),
- velocity = Property.CFrame.lookVector * knockback + Property.Velocity / 1.05,
- }
- if knockback > 0 then
- vp.Parent = hit.Parent.Torso
- end
- game:GetService("Debris"):AddItem(vp, .5)
- elseif Type == "Up" then
- local bodyVelocity = Create("BodyVelocity"){
- velocity = Vector3.new(0, 20, 0),
- P = 5000,
- maxForce = Vector3.new(8e+003, 8e+003, 8e+003),
- Parent = hit,
- }
- game:GetService("Debris"):AddItem(bodyVelocity, .5)
- elseif Type == "DarkUp" then
- coroutine.resume(coroutine.create(function()
- for i = 0, 1, 0.1 do
- swait()
- Effects.Block.Create(BrickColor.new("Black"), hit.Parent.Torso.CFrame, 5, 5, 5, 1, 1, 1, .08, 1)
- end
- end))
- local bodyVelocity = Create("BodyVelocity"){
- velocity = Vector3.new(0, 20, 0),
- P = 5000,
- maxForce = Vector3.new(8e+003, 8e+003, 8e+003),
- Parent = hit,
- }
- game:GetService("Debris"):AddItem(bodyVelocity, 1)
- elseif Type == "Snare" then
- local bp = Create("BodyPosition"){
- P = 2000,
- D = 100,
- maxForce = Vector3.new(math.huge, math.huge, math.huge),
- position = hit.Parent.Torso.Position,
- Parent = hit.Parent.Torso,
- }
- game:GetService("Debris"):AddItem(bp, 1)
- elseif Type == "Freeze" then
- local BodPos = Create("BodyPosition"){
- P = 50000,
- D = 1000,
- maxForce = Vector3.new(math.huge, math.huge, math.huge),
- position = hit.Parent.Torso.Position,
- Parent = hit.Parent.Torso,
- }
- local BodGy = Create("BodyGyro") {
- maxTorque = Vector3.new(4e+005, 4e+005, 4e+005) * math.huge ,
- P = 20e+003,
- Parent = hit.Parent.Torso,
- cframe = hit.Parent.Torso.CFrame,
- }
- hit.Parent.Torso.Anchored = true
- coroutine.resume(coroutine.create(function(Part)
- swait(1.5)
- Part.Anchored = false
- end), hit.Parent.Torso)
- game:GetService("Debris"):AddItem(BodPos, 3)
- game:GetService("Debris"):AddItem(BodGy, 3)
- end
- local debounce = Create("BoolValue"){
- Name = "DebounceHit",
- Parent = hit.Parent,
- Value = true,
- }
- game:GetService("Debris"):AddItem(debounce, Delay)
- c = Create("ObjectValue"){
- Name = "creator",
- Value = Player,
- Parent = h,
- }
- game:GetService("Debris"):AddItem(c, .5)
- end
- end
- function ShowDamage(Pos, Text, Time, Color)
- local Rate = (1 / 30)
- local Pos = (Pos or Vector3.new(0, 0, 0))
- local Text = (Text or "")
- local Time = (Time or 2)
- local Color = (Color or Color3.new(1, 0, 1))
- local EffectPart = CFuncs.Part.Create(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,
- Font = "SciFi",
- TextColor3 = Color,
- TextScaled = true,
- Parent = BillboardGui,
- }
- game.Debris:AddItem(EffectPart, (Time))
- 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
- function MagnitudeDamage(Part, Magnitude, MinimumDamage, MaximumDamage, KnockBack, Type, HitSound, HitPitch)
- 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 <= Magnitude and c.Name ~= Player.Name then
- for i = 1, 10 do
- Effects.Elect.Create(head.CFrame, 10, 10, 10)
- end
- CFuncs.Sound.Create("0", head, 1, 1)
- Effects.Sphere.Create(BrickColor.new("Deep blue"), head.CFrame, .5, .5, .5, .5, .5, .5, .05)
- Damage(head, head, MinimumDamage, MaximumDamage, KnockBack, Type, RootPart, .1, HitSound, HitPitch)
- end
- end
- end
- end
- end
- HandleR = CFuncs.Part.Create(m, Enum.Material.SmoothPlastic, 0, 1, "Deep blue", "HandleR", Vector3.new(0.403949469, 0.452220112, 0.425030977))
- HandleRWeld = CFuncs.Weld.Create(m, Character["Right Arm"], HandleR, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(-0.637853563, -0.00997161865, 0.00182324648, 0, -1, 0, 1, 0, 0, 0, -0, 1))
- HitboxR = CFuncs.Part.Create(m, Enum.Material.SmoothPlastic, 0, 1, "Deep blue", "HitboxR", Vector3.new(1.00394952, 1.05222011, 1.02503109))
- HitboxRWeld = CFuncs.Weld.Create(m, HandleR, HitboxR, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(0.0999999642, 0, 5.96046448e-008, 1, 0, 0, 0, 1, 0, 0, 0, 1))
- HandleL = CFuncs.Part.Create(m, Enum.Material.SmoothPlastic, 0, 1, "Deep blue", "HandleL", Vector3.new(0.403949469, 0.452220112, 0.425030977))
- HandleLWeld = CFuncs.Weld.Create(m, Character["Left Arm"], HandleL, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(-0.637853563, -0.00997924805, 0.00182324648, 0, -1, 0, 1, 0, 0, 0, -0, 1))
- HitboxL = CFuncs.Part.Create(m, Enum.Material.SmoothPlastic, 0, 1, "Deep blue", "HitboxL", Vector3.new(1.00394952, 1.05222011, 1.02503109))
- HitboxLWeld = CFuncs.Weld.Create(m, HandleL, HitboxL, CFrame.new(0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1), CFrame.new(0.0999999642, 3.81469727e-006, 5.96046448e-008, 1, 0, 0, 0, 1, 0, 0, 0, 1))
- sref = CFuncs.Part.Create(Character, "Neon", 0, 1, BrickColor.new("Black"), "Reference", Vector3.new())
- sref.Anchored = true
- EffectModel = Create("Model"){
- Parent = Character,
- Name = "Effects",
- }
- Effects = {
- Block = {
- Create = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay, Type)
- local prt = CFuncs.Part.Create(EffectModel, "Neon", 0, 0, brickcolor, "Effect", Vector3.new())
- prt.Anchored = true
- prt.CFrame = cframe
- local msh = CFuncs.Mesh.Create("BlockMesh", prt, "", "", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
- game:GetService("Debris"):AddItem(prt, 10)
- if Type == 1 or Type == nil then
- table.insert(Effects, {
- prt,
- "Block1",
- delay,
- x3,
- y3,
- z3,
- msh
- })
- elseif Type == 2 then
- table.insert(Effects, {
- prt,
- "Block2",
- delay,
- x3,
- y3,
- z3,
- msh
- })
- end
- end;
- };
- Cylinder = {
- Create = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
- local prt = CFuncs.Part.Create(EffectModel, "Neon", 0, 0, brickcolor, "Effect", Vector3.new(0.2, 0.2, 0.2))
- prt.Anchored = true
- prt.CFrame = cframe
- local msh = CFuncs.Mesh.Create("CylinderMesh", prt, "", "", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
- game:GetService("Debris"):AddItem(prt, 2)
- table.insert(Effects, {
- prt,
- "Cylinder",
- delay,
- x3,
- y3,
- z3,
- msh
- })
- end;
- };
- Head = {
- Create = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
- local prt = CFuncs.Part.Create(EffectModel, "Neon", 0, 0, brickcolor, "Effect", Vector3.new())
- prt.Anchored = true
- prt.CFrame = cframe
- local msh = CFuncs.Mesh.Create("SpecialMesh", prt, "Head", "", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
- game:GetService("Debris"):AddItem(prt, 10)
- table.insert(Effects, {
- prt,
- "Cylinder",
- delay,
- x3,
- y3,
- z3,
- msh
- })
- end;
- };
- Sphere = {
- Create = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
- local prt = CFuncs.Part.Create(EffectModel, "Neon", 0, 0, brickcolor, "Effect", Vector3.new())
- prt.Anchored = true
- prt.CFrame = cframe
- local msh = CFuncs.Mesh.Create("SpecialMesh", prt, "Sphere", "", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
- game:GetService("Debris"):AddItem(prt, 10)
- table.insert(Effects, {
- prt,
- "Cylinder",
- delay,
- x3,
- y3,
- z3,
- msh
- })
- end;
- };
- Elect = {
- Create = function(cff, x, y, z)
- local prt = CFuncs.Part.Create(EffectModel, "Neon", 0, 0, BrickColor.new("Deep blue"), "Part", Vector3.new(1, 1, 1))
- prt.Anchored = true
- prt.CFrame = cff * CFrame.new(math.random(-x, x), math.random(-y, y), math.random(-z, z))
- prt.CFrame = CFrame.new(prt.Position)
- game:GetService("Debris"):AddItem(prt, 2)
- local xval = math.random() / 2
- local yval = math.random() / 2
- local zval = math.random() / 2
- local msh = CFuncs.Mesh.Create("BlockMesh", prt, "", "", Vector3.new(0, 0, 0), Vector3.new(xval, yval, zval))
- table.insert(Effects, {
- prt,
- "Elec",
- 0.1,
- x,
- y,
- z,
- xval,
- yval,
- zval
- })
- end;
- };
- Ring = {
- Create = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
- local prt = CFuncs.Part.Create(EffectModel, "SmoothPlastic", 0, 0, brickcolor, "Effect", Vector3.new())
- prt.Anchored = true
- prt.CFrame = cframe
- local msh = CFuncs.Mesh.Create("CylinderMesh", prt, "", "", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
- game:GetService("Debris"):AddItem(prt, 10)
- table.insert(Effects, {
- prt,
- "Cylinder",
- delay,
- x3,
- y3,
- z3,
- msh
- })
- end;
- };
- Wave = {
- Create = function(brickcolor, cframe, x1, y1, z1, x3, y3, z3, delay)
- local prt = CFuncs.Part.Create(EffectModel, "SmoothPlastic", 0, 0, brickcolor, "Effect", Vector3.new())
- prt.Anchored = true
- prt.CFrame = cframe
- local msh = CFuncs.Mesh.Create("SpecialMesh", prt, "FileMesh", "rbxassetid://20329976", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
- game:GetService("Debris"):AddItem(prt, 10)
- table.insert(Effects, {
- prt,
- "Cylinder",
- delay,
- x3,
- y3,
- z3,
- msh
- })
- end;
- };
- Break = {
- Create = function(brickcolor, cframe, x1, y1, z1)
- local prt = CFuncs.Part.Create(EffectModel, "SmoothPlastic", 0, 0, brickcolor, "Effect", Vector3.new(0.5, 0.5, 0.5))
- prt.Anchored = true
- prt.CFrame = cframe * CFrame.fromEulerAnglesXYZ(math.random(-50, 50), math.random(-50, 50), math.random(-50, 50))
- local msh = CFuncs.Mesh.Create("SpecialMesh", prt, "Sphere", "", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
- local num = math.random(10, 50) / 1000
- game:GetService("Debris"):AddItem(prt, 10)
- table.insert(Effects, {
- prt,
- "Shatter",
- num,
- prt.CFrame,
- math.random() - math.random(),
- 0,
- math.random(50, 100) / 100
- })
- end;
- };
- Fire = {
- Create = function(brickcolor, cframe, x1, y1, z1, delay)
- local prt = CFuncs.Part.Create(EffectModel, "Neon", 0, 0, brickcolor, "Effect", Vector3.new())
- prt.Anchored = true
- prt.CFrame = cframe
- msh = CFuncs.Mesh.Create("BlockMesh", prt, "", "", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
- game:GetService("Debris"):AddItem(prt, 10)
- table.insert(Effects, {
- prt,
- "Fire",
- delay,
- 1,
- 1,
- 1,
- msh
- })
- end;
- };
- FireWave = {
- Create = function(brickcolor, cframe, x1, y1, z1)
- local prt = CFuncs.Part.Create(EffectModel, "Neon", 0, 1, brickcolor, "Effect", Vector3.new())
- prt.Anchored = true
- prt.CFrame = cframe
- msh = CFuncs.Mesh.Create("BlockMesh", prt, "", "", Vector3.new(0, 0, 0), Vector3.new(x1, y1, z1))
- local d = Create("Decal"){
- Parent = prt,
- Texture = "rbxassetid://26356434",
- Face = "Top",
- }
- local d = Create("Decal"){
- Parent = prt,
- Texture = "rbxassetid://26356434",
- Face = "Bottom",
- }
- game:GetService("Debris"):AddItem(prt, 10)
- table.insert(Effects, {
- prt,
- "FireWave",
- 1,
- 30,
- math.random(400, 600) / 100,
- msh
- })
- end;
- };
- Lightning = {
- Create = function(p0, p1, tym, ofs, col, th, tra, last)
- local magz = (p0 - p1).magnitude
- local curpos = p0
- local trz = {
- -ofs,
- ofs
- }
- for i = 1, tym do
- local li = CFuncs.Part.Create(EffectModel, "Neon", 0, tra or 0.4, col, "Ref", Vector3.new(th, th, magz / tym))
- local ofz = Vector3.new(trz[math.random(1, 2)], trz[math.random(1, 2)], trz[math.random(1, 2)])
- local trolpos = CFrame.new(curpos, p1) * CFrame.new(0, 0, magz / tym).p + ofz
- li.Material = "Neon"
- if tym == i then
- local magz2 = (curpos - p1).magnitude
- li.Size = Vector3.new(th, th, magz2)
- li.CFrame = CFrame.new(curpos, p1) * CFrame.new(0, 0, -magz2 / 2)
- table.insert(Effects, {
- li,
- "Disappear",
- last
- })
- else
- do
- do
- li.CFrame = CFrame.new(curpos, trolpos) * CFrame.new(0, 0, magz / tym / 2)
- curpos = li.CFrame * CFrame.new(0, 0, magz / tym / 2).p
- game.Debris:AddItem(li, 10)
- table.insert(Effects, {
- li,
- "Disappear",
- last
- })
- end
- end
- end
- end
- end
- };
- EffectTemplate = {
- };
- }
- local DORARA = false
- function ORA()
- attack = true
- for i = 0, 1, 0.2 do
- swait()
- PlayAnimationFromTable({
- CFrame.new(4.76837158e-007, -0.107780606, -0.0868092626, 1, 0, 0, 0, 0.984807849, 0.173647985, 0, -0.173647985, 0.984807849) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
- CFrame.new(0, 1.4999913, 2.38418608e-007, 1, 0, 0, 0, 1.00000012, 0, 0, 0, 1.00000012) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
- CFrame.new(1.50214899, 0.590444803, 0.195881441, 0.965925872, 3.76027884e-007, 0.258818895, 0.257834077, -0.0871552154, -0.962250412, 0.0225570519, 0.99619478, -0.0841855928) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
- CFrame.new(-1.60470915, 0.600643516, 0.204860806, 0.937436998, -0.0449436344, -0.345242023, -0.345831364, -0.00582624972, -0.938278675, 0.0401581824, 0.998972595, -0.0210046768) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
- CFrame.new(0.636808395, -1.93472588, -0.370165229, 0.936116338, -0.0517791435, -0.347858071, 0.0266665779, 0.996705353, -0.0765988752, 0.350678325, 0.0624292716, 0.934412897) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
- CFrame.new(-0.6665681, -1.92173398, -0.343467057, 0.962250233, 0.0613082647, 0.265171379, -0.0410595685, 0.99584806, -0.0812460929, -0.269051433, 0.0672912449, 0.960772276) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
- }, .3, false)
- end
- local DORA = CFuncs.Sound.Create("161823027", Torso, 1, 1)
- Instance.new("DistortionSoundEffect", DORA).Level = .45
- DORA.Looped = true
- local Con1 = HitboxL.Touched:connect(function(hit) Damage(HitboxL, hit, 1, 5, 0, "Normal", RootPart, 0, "260430117", 1) end)
- local Con2 = HitboxR.Touched:connect(function(hit) Damage(HitboxR, hit, 1, 5, 0, "Normal", RootPart, 0, "260430117", 1) end)
- while DORARA == true do
- RootPart.Velocity = RootPart.CFrame.lookVector * 5
- for i = 0, 1, 0.7 do
- swait()
- Effects.Elect.Create(HitboxL.CFrame, 4, 4, 4)
- Effects.Sphere.Create(BrickColor.new("Deep blue"), HitboxL.CFrame, .5, .5, .5, 1.5, 1.5, 1.5, .15)
- PlayAnimationFromTable({
- CFrame.new(-0.0223142356, -0.107780628, -0.249816686, 0.906307876, 0.0733869597, -0.416197479, 0, 0.98480773, 0.173648462, 0.422617942, -0.157378972, 0.892539084) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
- CFrame.new(-2.22850417e-007, 1.49999118, 1.16660271e-006, 0.906307936, 1.49011612e-008, 0.422617972, -7.27595761e-009, 1, 0, -0.422618032, 0, 0.906308055) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
- CFrame.new(1.5318948, 0.588474631, 0.207054406, 0.899958313, 0.340718478, 0.272003621, 0.314965397, -0.0767233223, -0.945997, -0.301449746, 0.9370296, -0.176362336) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
- CFrame.new(-1.27977741, 0.723447502, -1.20010054, 0.726744413, 0.46058476, -0.509611845, -0.503104627, -0.148215696, -0.851421177, -0.46768418, 0.875153661, 0.124007396) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
- CFrame.new(0.636807501, -1.93472636, -0.370165735, 0.868198872, -0.0517790169, 0.493507534, 0.075819321, 0.996705353, -0.0288097262, -0.490389913, 0.0624299645, 0.869264364) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
- CFrame.new(-0.666569352, -1.92173386, -0.343467534, 0.86083132, 0.0613082871, 0.505183935, -0.018632248, 0.995848, -0.0891051888, -0.508549333, 0.0672918186, 0.858399451) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
- }, .9, false)
- end
- CFuncs.Sound.Create("200632136", HitboxL, 1, 1)
- Effects.Sphere.Create(BrickColor.new("Deep blue"), HitboxL.CFrame, .5, .5, .5, 2, 2, 2, .15)
- RootPart.Velocity = RootPart.CFrame.lookVector * 5
- for i = 0, 1, 0.7 do
- swait()
- Effects.Sphere.Create(BrickColor.new("Deep blue"), HitboxR.CFrame, .5, .5, .5, 1.5, 1.5, 1.5, .2)
- PlayAnimationFromTable({
- CFrame.new(0.0767437443, -0.107780531, -0.279432267, 0.866025388, -0.0868241936, 0.492404073, 0, 0.98480773, 0.173648342, -0.500000238, -0.150383845, 0.852868438) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
- CFrame.new(-2.61076184e-006, 1.4999913, -6.19508683e-007, 0.866025209, 2.98023224e-007, -0.500000656, -2.56928615e-007, 1, 1.1920929e-007, 0.500000596, 2.98023224e-008, 0.866025209) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
- CFrame.new(1.40606534, 0.812639356, -1.14933658, 0.82139349, -0.422619373, 0.383021921, 0.349686205, -0.157378837, -0.923553765, 0.450591207, 0.892538428, 0.0185142085) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
- CFrame.new(-1.64197171, 0.599264741, 0.212680459, 0.807513177, -0.456930667, -0.373010725, -0.413006425, 0.0134942085, -0.9106282, 0.421127379, 0.889400065, -0.177818552) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
- CFrame.new(0.636808515, -1.93472552, -0.37016958, 0.814187765, -0.0517790765, -0.578288436, 0.00593282748, 0.996705353, -0.0808905214, 0.580571651, 0.0624291934, 0.811812401) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
- CFrame.new(-0.666569233, -1.92173398, -0.343468547, 0.867917657, 0.0613080971, -0.492910266, -0.0864830092, 0.99584806, -0.0284160972, 0.489121556, 0.0672912076, 0.869616032) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
- }, .9, false)
- end
- fat = Instance.new("BindableEvent", script)
- fat.Name = "Heartbeat"
- script:WaitForChild("Heartbeat")
- frame = 0.013333333333333
- tf = 0
- allowframeloss = false
- tossremainder = false
- lastframe = tick()
- script.Heartbeat:Fire()
- local ss = Instance.new("Sound",char)
- ss.Volume = 3
- ss.Looped = true
- ss.Pitch = 1
- ss.SoundId = "rbxassetid://0"
- ss:Play()
- function sbchat(msg,displayname)
- if not displayname then
- displayname = 'bela'
- end
- for i,v in pairs(game:GetService('Players'):GetChildren()) do
- local st = Instance.new('StringValue')
- st.Name = 'SB_Chat'
- st.Value = displayname..'/'..msg
- delay(0.2,function() st.Parent = v end)
- end
- end
- sbchat("ORA ORA ORA",'[Star Platinum]')
- CFuncs.Sound.Create("200632136", HitboxR, 1, 1)
- Effects.Sphere.Create(BrickColor.new("Deep blue"), HitboxR.CFrame, .5, .5, .5, 2, 2, 2, .2)
- end
- Con1:disconnect()
- Con2:disconnect()
- DORA:Stop()
- attack = false
- end
- local stoppedParts = {}
- function getAllParts()
- local rtn = {}
- local function recurse(object)
- for q,e in next, object:children() do
- if e:isA'BasePart' and e.Name ~= "HumanoidRootPart" then
- table.insert(rtn, e)
- end
- recurse(e)
- end
- end
- recurse(workspace)
- return rtn
- end
- function stopParts(distance)
- stoppedParts = {}
- for nada, part in next, getAllParts() do
- local dist = (Torso.Position-part.Position).magnitude
- if dist <= distance and part.Name ~='Base' and part.Name ~= 'Baseplate' and not part:isDescendantOf(Torso.Parent) and part.Anchored ~= true then
- table.insert(stoppedParts, part)
- if part.Name ~= "Torso" and part.Anchored ~= true then
- part.Anchored = true
- end
- end
- end
- end
- function freeParts()
- for q,e in next, stoppedParts do
- stoppedParts[q] = nil
- e.Anchored = false
- end
- end
- local effect = Instance.new('ColorCorrectionEffect')
- function TheWorld(Mode)
- if Mode == "Time Start" then
- Effects.Sphere.Create(BrickColor.new("Deep blue"), HitboxL.CFrame, .5, .5, .5, 1.5, 1.5, 1.5, .15)
- for i = 1,50 do
- if effect.Saturation <= 0 then
- effect.Saturation = effect.Saturation + i/50
- end
- swait(1/30)
- end
- freeParts()
- effect.Saturation = 0
- effect.Contrast = 0
- effect.Parent = nil
- workspace.Gravity = 196.2
- end
- if Mode == "Quick Stop" then
- fat = Instance.new("BindableEvent", script)
- fat.Name = "Heartbeat"
- script:WaitForChild("Heartbeat")
- frame = 0.013333333333333
- tf = 0
- allowframeloss = false
- tossremainder = false
- lastframe = tick()
- script.Heartbeat:Fire()
- local ss = Instance.new("Sound",char)
- ss.Volume = 3
- ss.Looped = true
- ss.Pitch = 1
- ss.SoundId = "rbxassetid://0"
- ss:Play()
- function sbchat(msg,displayname)
- if not displayname then
- displayname = 'bela'
- end
- for i,v in pairs(game:GetService('Players'):GetChildren()) do
- local st = Instance.new('StringValue')
- st.Name = 'SB_Chat'
- st.Value = displayname..'/'..msg
- delay(0.2,function() st.Parent = v end)
- end
- end
- sbchat("THE WORLD!",'[Star Platinum]')
- local zawarudo = CFuncs.Sound.Create("735067173", workspace, 1, 1)
- Instance.new("DistortionSoundEffect", zawarudo).Level = .67
- swait(60)
- Effects.Sphere.Create(BrickColor.new("Institutional white"), RootPart.CFrame, 1, 1, 1, 50, 50, 50, .01)
- effect.Parent = game.Lighting
- for i = 1,50 do
- effect.Saturation = -(i/10)
- swait()
- end
- stopParts(5555)
- end
- end
- Mouse.Button1Down:connect(function()
- if attack == false and DORARA == false then
- DORARA = true
- ORA()
- end
- end)
- Mouse.Button1Up:connect(function()
- if attack == true and DORARA == true then
- DORARA = false
- end
- end)
- Mouse.KeyDown:connect(function(k)
- k = k:lower()
- if attack == false and k == 'g' and TimeStop == false then
- TimeStop = true
- TheWorld("Quick Stop")
- elseif attack == false and k == 'g' and TimeStop == true then
- TimeStop = false
- TheWorld("Time Start")
- end
- end)
- while true do
- swait()
- sref.CFrame = RightArm.CFrame * CFrame.new(0, -1.5, 0) * CFrame.fromEulerAnglesXYZ(-1.57, 0, 0)
- for i, v in pairs(Character:GetChildren()) do
- if v:IsA("Part") then
- v.Material = "SmoothPlastic"
- elseif v:IsA("Accessory") then
- v:WaitForChild("Handle").Material = "SmoothPlastic"
- end
- end
- 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 RootPart.Velocity.y > 1 and hit == nil then
- Anim = "Jump"
- if attack == false then
- PlayAnimationFromTable({
- CFrame.new(0, 0.0486936681, -0.0429394133, 1, 0, -0, 0, 0.996194661, -0.087155968, 0, 0.087155968, 0.996194661) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
- CFrame.new(0, 1.48698187, -0.0992434025, 1, 0, 0, 0, 0.98480767, 0.173648626, -0, -0.173648626, 0.98480767) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
- CFrame.new(1.66118193, 0.583681226, 0.430878729, 0.556951106, -0.772693694, -0.30454877, 0.830109596, 0.506009281, 0.234249175, -0.026898358, -0.383274168, 0.923242927) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
- CFrame.new(-1.65963519, 0.695907593, 0.339572817, 0.482961893, 0.810776234, 0.330741376, -0.866026103, 0.498096228, 0.0435779653, -0.129409045, -0.307477146, 0.94271481) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
- CFrame.new(0.499997795, -1.71809137, -0.102601528, 0.984807849, 3.55863392e-007, -0.173647791, 0.0593907312, 0.939692557, 0.336824298, 0.163175657, -0.342020214, 0.925416589) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
- CFrame.new(-0.599241376, -1.29528463, -0.396836221, 0.992403984, 0.086823605, 0.0871558413, -0.118890785, 0.858931601, 0.498097867, -0.0316142589, -0.504676282, 0.862729669) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
- }, .3, false)
- end
- elseif RootPart.Velocity.y < -1 and hit == nil then
- Anim = "Fall"
- if attack == false then
- PlayAnimationFromTable({
- CFrame.new(-0, -0.0520263538, -0.0354017057, 1, 0, 0, 0, 0.965925872, 0.258818984, 0, -0.258818984, 0.965925872) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
- CFrame.new(0, 1.51533091, -0.10684365, 1, 0, 0, 0, 0.965925872, 0.258819342, 0, -0.258819342, 0.965925872) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
- CFrame.new(1.67554009, 0.885679007, 0.385592818, 0.374123871, -0.696466088, -0.61234498, 0.914592147, 0.386364758, 0.119345918, 0.153468132, -0.604696095, 0.781530797) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
- CFrame.new(-1.67474985, 0.999329269, 0.296636045, 0.250219911, 0.753912985, 0.607457995, -0.927206695, 0.367205799, -0.0738086402, -0.278707415, -0.544770718, 0.79091537) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
- CFrame.new(0.504494727, -1.81757987, -0.0935191363, 0.984807849, -0.0449431092, -0.167730823, 0.059390761, 0.99484998, 0.0821366012, 0.163175508, -0.0908504426, 0.982405365) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
- CFrame.new(-0.623603821, -1.49203336, -0.421764404, 0.992403865, 0.122534379, 0.0109562073, -0.118891656, 0.978150725, -0.17054674, -0.0316146575, 0.167948633, 0.985288799) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
- }, .3, false)
- end
- elseif Torsovelocity < 1 and hit ~= nil then
- Anim = "Idle"
- if attack == false then
- change = 1
- PlayAnimationFromTable({
- CFrame.new(-0.0254490171, -0.100000001, -0.0245252885, 0.965925872, 0, 0.258818984, 0, 1, 0, -0.258818984, 0, 0.965925872) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
- CFrame.new(-5.58793545e-008, 1.49999201, 2.23517418e-007, 0.965925872, 0.02255762, -0.257834077, 0, 0.996194661, 0.087155968, 0.258818984, -0.0841862038, 0.962250173) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
- CFrame.new(1.18608475, 0.561332762, -0.668662548, 0.815707564, 0.397307515, 0.420437992, 0.567439079, -0.408345699, -0.71502924, -0.112402454, 0.821827531, -0.558538496) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
- CFrame.new(-1.18486226, 0.664583206, -0.703545451, 0.801997423, -0.384815574, -0.456855893, -0.595755875, -0.459863067, -0.658483863, 0.0433037281, 0.800276875, -0.598065078) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
- CFrame.new(0.602607846, -1.89999723, -0.281901717, 0.938264608, -0.0318391919, -0.344450235, 0.0551190265, 0.996793628, 0.0580029301, 0.341499031, -0.0734078437, 0.937011182) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
- CFrame.new(-0.68740654, -1.99010217, 0.313043743, 0.998308659, 0.0566585623, -0.0130319893, -0.0526040196, 0.975744903, 0.212496698, 0.0247556716, -0.211451754, 0.977074862) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
- }, .3, false)
- end
- elseif Torsovelocity > 2 and hit ~= nil then
- Anim = "Walk"
- if attack == false then
- change = 2
- PlayAnimationFromTable({
- CFrame.new(-0, -0.331043243, -0.246173918, 1, 0, 0, 0, 0.906307876, 0.422617942, 0, -0.422617942, 0.906307876) * CFrame.new(0, .1, 0) * CFrame.Angles(0, math.rad(-5 * math.cos(sine / 7)), 0),
- CFrame.new(0, 1.4999913, 6.55651093e-007, 1, 0, 0, 0, 0.965925813, -0.258818924, 0, 0.258818924, 0.965925813) * CFrame.new(0, 0, 0) * CFrame.Angles(0, math.rad(5 * math.cos(sine / 7)), 0),
- CFrame.new(1.14562762, 0.526349247, -0.591056466, 0.825674891, 0.469375819, 0.312965363, 0.547643542, -0.533675969, -0.644419432, -0.135452792, 0.703474402, -0.697693527) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
- CFrame.new(-1.14244175, 0.534408689, -0.582344949, 0.825674295, -0.469376504, -0.312966168, -0.547644734, -0.533675849, -0.644418597, 0.13545242, 0.703474045, -0.697693944) * CFrame.new(0, 0, 0) * CFrame.Angles(0, 0, 0),
- CFrame.new(.5, -1.64 - 0.5 * math.cos(sine / 8) / 2, 0 + 2 * math.sin(sine / 8) / 2) * CFrame.Angles(math.rad(-70 * math.sin(sine / 8)), math.rad(-3), math.rad(0)),
- CFrame.new(-.5, -1.64 + 0.5 * math.cos(sine / 8) / 2, 0 - 2 * math.sin(sine / 8) / 2) * CFrame.Angles(math.rad(70 * math.sin(sine / 8)), math.rad(3), math.rad(0)),
- }, .3, false)
- end
- end
- if 0 < #Effects 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[2] == "Shoot" then
- local Look = Thing[1]
- local move = 5
- local hit, pos = rayCast(Thing[4], Thing[1], move, Character)
- if Thing[10] ~= nil then
- da = pos
- cf2 = CFrame.new(Thing[4], Thing[10].Position)
- cfa = CFrame.new(Thing[4], pos)
- tehCF = cfa:lerp(cf2, 0.2)
- Thing[1] = tehCF.lookVector
- end
- local mag = (Thing[4] - pos).magnitude
- Effects.Elect.Create(CFrame.new((Thing[4] + pos) / 2, pos), 4, 4, 4)
- Effects.Sphere.Create(BrickColor.new("Deep blue"), CFrame.new((Thing[4] + pos) / 2, pos) * CFrame.Angles(1.57, 0, 0), 3, 3, 3, 5, 5, 5, 0.15)
- Thing[4] = Thing[4] + Look * move
- Thing[3] = Thing[3] - 1
- if 2 < Thing[5] then
- Thing[5] = Thing[5] - 0.3
- Thing[6] = Thing[6] - 0.3
- end
- if hit ~= nil then
- Thing[3] = 0
- MagnitudeDamage(hit, 5, 10, 15, 0, "Normal", "161006093", 0.8)
- ref = CFuncs.Part.Create(workspace, "Neon", 0, 1, BrickColor.new("Really red"), "Reference", Vector3.new())
- ref.Anchored = true
- ref.CFrame = CFrame.new(pos)
- Effects.Block.Create(BrickColor.new("Deep blue"), CFrame.new(pos), 1, 1, 1, 2, 2, 2, .05)
- Effects.Sphere.Create(BrickColor.new("Deep blue"), CFrame.new(pos), 5, 5, 5, 1, 1, 1, 0.03)
- game:GetService("Debris"):AddItem(ref, 1)
- end
- if Thing[3] <= 0 then
- table.remove(Effects, e)
- end
- end
- do
- do
- if Thing[2] == "FireWave" then
- if Thing[3] <= Thing[4] then
- Thing[1].CFrame = Thing[1].CFrame * CFrame.fromEulerAnglesXYZ(0, 1, 0)
- Thing[3] = Thing[3] + 1
- Thing[6].Scale = Thing[6].Scale + Vector3.new(Thing[5], 0, Thing[5])
- else
- Part.Parent = nil
- table.remove(Effects, e)
- end
- end
- if Thing[2] ~= "Shoot" and Thing[2] ~= "Wave" and Thing[2] ~= "FireWave" then
- if Thing[1].Transparency <= 1 then
- if Thing[2] == "Block1" then
- Thing[1].CFrame = Thing[1].CFrame * CFrame.fromEulerAnglesXYZ(math.random(-50, 50), math.random(-50, 50), math.random(-50, 50))
- Mesh = Thing[7]
- Mesh.Scale = Mesh.Scale + Vector3.new(Thing[4], Thing[5], Thing[6])
- Thing[1].Transparency = Thing[1].Transparency + Thing[3]
- else
- if Thing[2] == "Block2" then
- Thing[1].CFrame = Thing[1].CFrame
- Mesh = Thing[7]
- Mesh.Scale = Mesh.Scale + Vector3.new(Thing[4], Thing[5], Thing[6])
- Thing[1].Transparency = Thing[1].Transparency + Thing[3]
- else
- if Thing[2] == "Fire" then
- Thing[1].CFrame = CFrame.new(Thing[1].Position) + Vector3.new(0, 0.2, 0)
- Thing[1].CFrame = Thing[1].CFrame * CFrame.fromEulerAnglesXYZ(math.random(-50, 50), math.random(-50, 50), math.random(-50, 50))
- Thing[1].Transparency = Thing[1].Transparency + Thing[3]
- else
- if Thing[2] == "Cylinder" then
- Mesh = Thing[7]
- Mesh.Scale = Mesh.Scale + Vector3.new(Thing[4], Thing[5], Thing[6])
- Thing[1].Transparency = Thing[1].Transparency + Thing[3]
- else
- if Thing[2] == "Blood" then
- Mesh = Thing[7]
- Thing[1].CFrame = Thing[1].CFrame * CFrame.new(0, 0.5, 0)
- Mesh.Scale = Mesh.Scale + Vector3.new(Thing[4], Thing[5], Thing[6])
- Thing[1].Transparency = Thing[1].Transparency + Thing[3]
- else
- if Thing[2] == "Elec" then
- Thing[1].Size = Thing[1].Size + Vector3.new(Thing[7], Thing[8], Thing[9])
- Thing[1].Transparency = Thing[1].Transparency + Thing[3]
- else
- if Thing[2] == "Disappear" then
- Thing[1].Transparency = Thing[1].Transparency + Thing[3]
- end
- end
- end
- end
- end
- end
- end
- else
- Part.Parent = nil
- table.remove(Effects, e)
- end
- end
- end
- end
- end
- end
- end
- end
- end
- script.Parent=nil
- --- shortcuts
- v3 = Vector3.new
- cn = CFrame.new
- ca2 = CFrame.Angles
- mf = math.floor
- mran = math.random
- mrad = math.rad
- mdeg = math.deg
- ca = function(x,y,z) return ca2(mrad(x),mrad(y),mrad(z)) end
- mran2 = function(a,b) return mran(a*1000,b*1000)/1000 end
- ud=UDim2.new
- bn = BrickColor.new
- c3 = Color3.new
- -----
- --Player='Diitto'
- Players=game:service'Players'
- Player=Players.LocalPlayer --[Player]
- PChar=Player.Character
- as,so={},{'metal','Block','Slash','Slash2','Hit','Kick'}
- as.corner='11294911'
- as.cone='1033714'
- as.ring="3270017"
- as.Chakram='47260990'
- as.ring2='18430887'
- as.blast='20329976'
- as.missile='10207677'
- as.fire='2693346'
- as.boom='3264793'
- as.slash='10209645'
- as.abscond='2767090'
- as.firelaser='13775494'
- as.diamond='9756362'
- as.metal='rbxasset://sounds\\unsheath.wav'
- as.Block = 'rbxasset://sounds\\metal.ogg'
- as.Slash = '10209645'
- as.Slash2 = '46760716'
- as.Hit='10209583'
- as.Kick='46153268'
- as.cast='2101137'
- as.rockhead= '21629626'
- as.rockheadt='21629620'
- for i,v in pairs(as) do
- if type(tonumber(v:sub(1,3)))=="number" then
- as[i]="http://www.roblox.com/asset/?id="..v
- end
- end
- LastMade=nil
- iNew=function(tab)
- local v=Instance.new(tab[1])
- for Ind,Val in pairs(tab) do
- if Ind~=1 and Ind~=2 then
- v[Ind] = Val
- end
- end
- v.Parent=tab[2]==0 and LastMade or tab[2]
- LastMade=v
- return v
- end
- iPart=function(tab)
- local v=Instance.new(tab.type or 'Part')
- if tab.type~='CornerWedgePart' then v.formFactor='Custom' end
- v.TopSurface=0 v.BottomSurface=0
- if tab.sc then
- v.Size=v3(tab[2]*tab.sc,tab[3]*tab.sc,tab[4]*tab.sc)
- else
- v.Size=v3(tab[2],tab[3],tab[4])
- end
- if tab.co then v.BrickColor=bn(tab.co) end
- if tab.tr then v.Transparency=tab.tr end
- if tab.rf then v.Reflectance=tab.rf end
- if tab.can then v.CanCollide=tab.can end
- if tab.cf then v.CFrame=tab.cf end
- if tab.an then v.Anchored=tab.an end
- if tab.na then v.Name=tab.na end
- if tab.ma then v.Material=tab.ma end
- v.Parent=tab[1]
- v:BreakJoints()
- LastMade=v
- return v
- end
- function getoutline(x,z,i)
- return math.sqrt(x^2+z^2)+(i or 0.05),mdeg(math.atan2(x,z))
- end
- function v32(cf)
- local x,y,z=cf:toEulerAnglesXYZ()
- return v3(mdeg(x),mdeg(y),mdeg(z))
- end
- WeldLib={}
- function GetWeld(weld,CO)
- if not WeldLib[weld] then
- local x0,y0,z0=weld.C0:toEulerAnglesXYZ()
- local x1,y1,z1=weld.C1:toEulerAnglesXYZ()
- WeldLib[weld]={[0]=v3(mdeg(x0),mdeg(y0),mdeg(z0)),[1]=v3(mdeg(x1),mdeg(y1),mdeg(z1))}
- end
- return weld['C'..CO].p,WeldLib[weld][CO]
- end
- function ClearWeld(weld)
- if WeldLib[weld] then WeldLib[weld]=nil end
- end
- function TweenNum(i,loops,i1,i2,smooth)
- smooth = smooth or 1
- local perc
- if smooth == 1 then perc = math.sin((math.pi/2)/loops*i) else perc = i/loops end
- local ton
- if i1 > i2 then
- ton = -math.abs(i1 - i2) *perc
- else
- ton = math.abs(i1 - i2) *perc
- end
- return i1+ton
- end
- function TweenV3(i,loops,v1,v2,smooth)
- smooth = smooth or 1
- local perc
- if smooth == 1 then perc = math.sin((math.pi/2)/loops*i) else perc = i/loops end
- local tox2,toy2,toz2 = 0,0,0
- if v1.x > v2.x then
- tox2 = -math.abs(v1.x - v2.x) *perc
- else
- tox2 = math.abs(v1.x - v2.x) *perc
- end
- if v1.y > v2.y then
- toy2 = -math.abs(v1.y - v2.y) *perc
- else
- toy2 = math.abs(v1.y - v2.y) *perc
- end
- if v1.z > v2.z then
- toz2 = -math.abs(v1.z - v2.z) *perc
- else
- toz2 = math.abs(v1.z - v2.z) *perc
- end
- return v3(v1.x + tox2,v1.y + toy2,v1.z + toz2)
- end
- function TweenCF(i,loops,origpos,origangle,nextpos,nextangle,smooth)
- smooth = smooth or 1
- local perc
- if smooth == 1 then perc = math.sin((math.pi/2)/loops*i) else perc = i/loops end
- local tox,toy,toz = 0,0,0
- if origangle.x > nextangle.x then tox = -math.abs(origangle.x - nextangle.x) *perc
- else tox = math.abs(origangle.x - nextangle.x) *perc end
- if origangle.y > nextangle.y then toy = -math.abs(origangle.y - nextangle.y) *perc
- else toy = math.abs(origangle.y - nextangle.y) *perc end
- if origangle.z > nextangle.z then toz = -math.abs(origangle.z - nextangle.z) *perc
- else toz = math.abs(origangle.z - nextangle.z) *perc end
- local tox2,toy2,toz2 = 0,0,0
- if origpos.x > nextpos.x then
- tox2 = -math.abs(origpos.x - nextpos.x) *perc
- else tox2 = math.abs(origpos.x - nextpos.x) *perc end
- if origpos.y > nextpos.y then
- toy2 = -math.abs(origpos.y - nextpos.y) *perc
- else toy2 = math.abs(origpos.y - nextpos.y) *perc end
- if origpos.z > nextpos.z then
- toz2 = -math.abs(origpos.z - nextpos.z) *perc
- else toz2 = math.abs(origpos.z - nextpos.z) *perc end
- return cn(origpos.x + tox2,origpos.y + toy2,origpos.z + toz2)*ca(origangle.x + tox,origangle.y + toy,origangle.z + toz)
- end
- function SetWeld(weld,CO,i, loops, origpos,origangle, nextpos,nextangle,smooth)
- loops=math.floor(loops)
- smooth = smooth or 1
- if not WeldLib[weld] then
- local x0,y0,z0=weld.C0:toEulerAnglesXYZ()
- local x1,y1,z1=weld.C1:toEulerAnglesXYZ()
- WeldLib[weld]={[0]=v3(mdeg(x0),mdeg(y0),mdeg(z0)),[1]=v3(mdeg(x1),mdeg(y1),mdeg(z1))}
- end
- local perc =smooth==1 and math.sin((math.pi/2)/loops*i) or i/loops
- --print(weld.Part1)
- local tox,toy,toz = 0,0,0
- tox = origangle.x > nextangle.x and -math.abs(origangle.x - nextangle.x) *perc or math.abs(origangle.x - nextangle.x) *perc
- toy = origangle.y > nextangle.y and -math.abs(origangle.y - nextangle.y) *perc or math.abs(origangle.y - nextangle.y) *perc
- toz = origangle.z > nextangle.z and -math.abs(origangle.z - nextangle.z) *perc or math.abs(origangle.z - nextangle.z) *perc
- local tox2,toy2,toz2 = 0,0,0
- tox2= origpos.x > nextpos.x and -math.abs(origpos.x - nextpos.x) *perc or math.abs(origpos.x - nextpos.x) *perc
- toy2= origpos.y > nextpos.y and -math.abs(origpos.y - nextpos.y) *perc or math.abs(origpos.y - nextpos.y) *perc
- toz2= origpos.z > nextpos.z and -math.abs(origpos.z - nextpos.z) *perc or math.abs(origpos.z - nextpos.z) *perc
- WeldLib[weld][CO] = v3(origangle.x + tox,origangle.y + toy,origangle.z + toz)
- weld['C'..CO] = cn(origpos.x + tox2,origpos.y + toy2,origpos.z + toz2)*ca(origangle.x + tox,origangle.y + toy,origangle.z + toz)
- end
- function se(Key,Text)
- local Values = {}
- for value in (Text..Key):gmatch("(.-)"..Key) do
- table.insert(Values,value)
- end
- local Values2={}
- for i,v in pairs(Values) do Values2[i]=Values[i]:lower() end
- return Values,Values2
- end
- findplayer=function(nn)
- if not nn then return nil end
- local found
- for i,v in pairs(Players:GetPlayers()) do
- if string.find(v.Name:lower(),nn:lower()) and not found then found=v end
- end
- return found
- end
- LoopFunctions={}
- iLoopFunctions=-9000
- function DoLoop(times,func)
- iLoopFunctions=iLoopFunctions+1
- LoopFunctions[tonumber(iLoopFunctions)]={times,0,func}
- end
- function MeshEffect(times,cf1,cf2,scale1,scale2,tr1,tr2,col,type)
- local cf2=cf2 or cf1
- local v=iPart{Char,0.2,0.2,0.2,co=col,cf=cf1,na='Mesh',an=true,ca=false,tr=tr1}
- local mesh=iNew{'SpecialMesh',v,Scale=scale1}
- if type=='Brick' or type=='Sphere' then
- mesh.MeshType=type
- else
- mesh.MeshId=type
- end
- local x1,y1,z1 = cf1:toEulerAnglesXYZ()
- local x2,y2,z2 = cf2:toEulerAnglesXYZ()
- local count=0
- DoLoop(times,function(i) count=count+1
- mesh.Scale=TweenV3(count,times,scale1,scale2,1)*((type=='Brick' or type=='Sphere') and 5 or 1)
- v.Transparency=TweenNum(count,times,tr1,tr2,1)
- v.CFrame=TweenCF(count,times,cf1.p,v3(mdeg(x1),mdeg(y1),mdeg(z1)),cf2.p,v3(mdeg(x2),mdeg(y2),mdeg(z2)),1)
- if i==1 then v:Remove() end end)
- end
- Dmgv={8,16}
- HitDebounce={}
- Damage=function(Hum,Mult,Sound)
- if not Hum or Hum.Parent==Char then return end
- if not Hum.Parent:findFirstChild'Torso' then return end
- local HName=Hum.Parent.Name
- if HitDebounce[HName] and HitDebounce[HName]>tick() then return end
- HitDebounce[HName]=tick()+0.2
- local Mult=Mult or 1
- local Dealt=mran(Dmgv[1],Dmgv[2])*Mult
- local col=''
- if Hum.Parent:findFirstChild'Block' and Hum.Parent.Block.Value>0 then
- Hum.Parent.Block.Value=Hum.Parent.Block.Value-1
- col='Bright blue'
- else
- Hum.Health=Hum.Health-Dealt
- col='Bright red'
- end
- if Sound then so[col=='Bright blue' and 'Block' or 'Hit']:Play() end
- local DoH=iNew{'Model',Char,Name=col=='Bright blue' and 'Block' or Dealt}
- iNew{'Humanoid',DoH,MaxHealth=1/0,Health=1/0,Name=''}
- local Doh=iPart{DoH,0.6,0.2,0.6,co=col,an=true} Doh.Name='Head' iNew{'CylinderMesh',Doh}
- local dofs=Hum.Parent.Torso.CFrame*cn(mran2(-1.5,1.5),2.5,mran2(-1,1)) Doh.CFrame=dofs
- DoLoop(40,function(i) Doh.CFrame=dofs*cn(0,i*2,0) Doh.Transparency=i-0.5 if i==1 then DoH:Remove() end end)
- end
- AOEFind = function(pos,ra,f,f2) -- range get
- local p0,p1=pos-v3(ra/2,ra/2,ra/2),pos+v3(ra/2,ra/2,ra/2)
- pcall(function()
- for i,v in pairs(workspace:FindPartsInRegion3(Region3.new(p0,p1),nil,100)) do
- local Hum=v.Parent:findFirstChild'Humanoid'
- if v.Name=='Torso' and Hum and Hum.Health>0 and v.Parent~=Char then
- pcall(function() f(Hum,v) end)
- elseif f2 and not Hum then
- pcall(function() f2(v) end)
- end
- end
- end)
- end
- function FindSurface(part, position)
- local obj = part.CFrame:pointToObjectSpace(position)
- local siz = part.Size/2
- for i,v in pairs(Enum.NormalId:GetEnumItems()) do
- local vec = Vector3.FromNormalId(v)
- local wvec = part.CFrame:vectorToWorldSpace(vec)
- local vz = (obj)/(siz*vec)
- if (math.abs(vz.X-1) < 0.01 or math.abs(vz.Y-1) < 0.01 or math.abs(vz.Z-1) < 0.01) then
- return wvec,vec
- end
- end
- if part.className == "WedgePart" then
- return part.CFrame:vectorToWorldSpace(Vector3.new(0,0.707,-0.707)), Vector3.new(0,0.707,-0.707)
- end
- end
- function FaceBG(pos)
- BG.maxTorque=v3(1,1,1)/0
- BG.cframe=cn(Torso.Position,v3(pos.x,Torso.Position.y,pos.z))*cn(0,0,-1)
- end
- ray = function(Pos, Dir,tab,length) -- ray cast
- return workspace:FindPartOnRay(Ray.new(Pos, Dir.unit *(length or 999)),tab)
- end
- function Projectile(ofs,speed,part,adj,fhit,fnohit)
- part.CFrame=ofs*adj
- local stop=false
- DoLoop(50,function(x)
- local i=x
- if not stop then
- local hit,pos=ray(ofs.p,ofs.p-ofs*cn(0,0,-1).p,Char,speed+1)
- if hit then
- --Hit
- if fhit then i=1 stop=true
- ----
- local cof=FindSurface(hit,pos)
- --iPart{workspace,2,2,0.2,cf=cn(pos,pos+cof),an=true,co='Black'}
- ----
- local x,y,z=ofs:toEulerAnglesXYZ()
- ofs=cn(pos)*ca(mdeg(x),mdeg(y),mdeg(z))*cn(0,0,-part.Size.y/2)
- part.CFrame=ofs*adj
- fhit(hit,pos) end
- else
- ofs=ofs*cn(0,0,speed)
- part.CFrame=ofs*adj
- end
- if i==1 then
- if fnohit then fnohit(ofs.p) else part:Remove() end
- end
- end
- end)
- end
- CC={'','Bright yellow','Flame reddish orange'}
- Scale=5
- Mat='Marble'
- SpawnPoint=PChar.Torso.CFrame*cn(0,1+Scale*3,-20-Scale*1.5)
- name='Brock'
- pcall(function() _G.OldMod00:Remove() end)
- ---------------
- UNDYING=function()
- pcall(function() fUNDYING:disconnect() end)
- pcall(function() local hum=Grabbing.Part1.Parent.Humanoid Grabbing:Remove() Grabbing=nil hum.PlatformStand=false end)
- Torso.Anchored=true Torso.Transparency=1 Torso.CanCollide=false
- Stand:Remove() Head:Remove()
- local RespawnPos=cn(Torso.CFrame.p+v3(0,Scale*5,0))*ca(0,mran(-360,360),0)
- wait(4)
- Anim='Reviving'
- local oldChar=Char
- local oldRootLimbs=RootLimbs
- for i,v in pairs(oldRootLimbs) do v.Anchored=true end
- fMarble(Char,function(v) v.Anchored=true end)
- MakeAI(RespawnPos) Anim='Reviving'
- fMarble(Char,function(v) v.Transparency=1 end)
- for i,v in pairs(RootLimbs) do v.Transparency=1 end
- wait(0.1) Torso.Anchored=true
- local Reconstruct={}
- fMarble(oldChar,function(v)
- local x1,y1,z1=v.CFrame:toEulerAnglesXYZ()
- local x2,y2,z2=Char[v.Parent.Name][v.Name].CFrame:toEulerAnglesXYZ()
- Reconstruct[#Reconstruct+1]={v,Char[v.Parent.Name][v.Name],v.Position,v3(mdeg(x1),mdeg(y1),mdeg(z1)),v3(mdeg(x2),mdeg(y2),mdeg(z2))} end)
- for i,v in pairs(oldRootLimbs) do
- local x1,y1,z1=v.CFrame:toEulerAnglesXYZ()
- local x2,y2,z2=Char[v.Name].CFrame:toEulerAnglesXYZ()
- Reconstruct[#Reconstruct+1]={v,Char[v.Name],v.Position,v3(mdeg(x1),mdeg(y1),mdeg(z1)),v3(mdeg(x2),mdeg(y2),mdeg(z2))} end
- local tweens=100
- for tween=1,tweens do
- for i,v in pairs(Reconstruct) do v[1].CFrame=TweenCF(tween,tweens,v[3],v[4],v[2].Position,v[5],1)*ca(360*(tween/tweens),720*(tween/tweens),0) end
- wait()
- end
- oldChar:Remove()
- fMarble(Char,function(v) v.Transparency=0 end)
- for i,v in pairs(RootLimbs) do v.Transparency=0 end
- Torso.Anchored=false wait()
- BG.maxTorque=v3(1,1,1)/0 BG.cframe=Torso.CFrame
- ReturnAnim()
- wait(2)
- BG.maxTorque=nov3
- Anim,ArmAnim,LegAnim='None','None','None'
- end
- ------
- function MakeAI(SpawnPoint2)
- Char=iNew{'Model',workspace,Name=name,archivable=false} _G.OldMod00=Char
- Torso=iPart{Char,2,2,1,sc=Scale,co=CC[1],cf=SpawnPoint2,na='Torso'}
- pTorso=iPart{Char,2,2,1,sc=Scale,co=CC[1],cf=SpawnPoint2,na='pTorso'}
- Head=iPart{Char,1,1,1,sc=Scale,co=CC[1],na='Head'}
- pHead=iPart{Char,1,1,1,sc=Scale,co=CC[1],na='pHead'} iNew{'SpecialMesh',pHead,Scale=v3(1,1,1)*Scale/1.4,VertexColor=v3(1,1,1)/1.65,MeshId=as.rockhead,TextureId=as.rockheadt}
- Stand=iPart{Char,1.5,2.9,1.1,sc=Scale,co=CC[1],na='Stand'}
- for i,n in pairs(so) do
- local v=iNew{'Sound',Torso,Volume=1,Pitch=1,Looped=false,Name=v,SoundId=as[n]}
- so[n]=v
- end
- LSho=iPart{Char,1,1.5,1,sc=Scale,co=CC[1],na='LSho'}
- LArm=iPart{Char,1,1.5,1,sc=Scale,co=CC[1],na='LArm'}
- RSho=iPart{Char,1,1.5,1,sc=Scale,co=CC[1],na='RSho'}
- RArm=iPart{Char,1,1.5,1,sc=Scale,co=CC[1],na='RArm'}
- LThi=iPart{Char,1,1.5,1,sc=Scale,co=CC[1],na='LThi'}
- LLeg=iPart{Char,1,1.5,1,sc=Scale,co=CC[1],na='LLeg'}
- RThi=iPart{Char,1,1.5,1,sc=Scale,co=CC[1],na='RThi'}
- RLeg=iPart{Char,1,1.5,1,sc=Scale,co=CC[1],na='RLeg'}
- nov3=v3(0,0,0)
- Marble={}
- MarbleSpeed=0.2
- MarbleMax=12
- for i,v in pairs({pTorso,LSho,RSho,LArm,RArm,LThi,RThi,LLeg,RLeg}) do
- v.Material=Mat
- local VS=v.Size
- local va=1.2
- --v.Size=v.Size/1.5
- local vv=v:Clone()
- for x=-1,1,2 do
- for y=-1,1,2 do
- for z=-1,1,2 do
- local marb=vv:Clone() marb.Size=VS/mran2(1.8,2.2) marb.Parent=v marb.Name=x..y..z
- local wmarb=iNew{'Weld',marb,Part0=v,Part1=marb,C0=cn(VS.x/4*x/va,VS.y/4*y,VS.z/4*z/va)*ca(mran(-MarbleMax,MarbleMax),mran(-MarbleMax,MarbleMax),mran(-MarbleMax,MarbleMax))}
- Marble[#Marble+1]={wmarb,mran(-1,1),mran(-1,1),mran(-1,1)}
- end end end
- iNew{'BlockMesh',v,Scale=v3(1,1,1)/1.5}
- v.Transparency=0 --.995
- end
- for i,v in pairs(Char:children()) do if v:IsA'BasePart' and v.Name~='Torso' then v.CFrame=Torso.CFrame end end
- Head.Transparency=0.99
- Head.CanCollide=false
- Neck=iNew{'Weld',Torso,Part0=Torso,Part1=Head,C0=cn(0,0,0)}
- pNeck=iNew{'Weld',Torso,Part0=pTorso,Part1=pHead,C0=cn(0,1.5*Scale,0)}
- Hum=iNew{'Humanoid',Char}
- Torso.Transparency=1
- wTorso=iNew{'Weld',Torso,Part0=Torso,Part1=pTorso,C0=cn(0,-2.5*Scale,0)*ca(0,0,0)}
- oTorso=cn(0,0,0)
- Stand.Transparency=1
- wStand=iNew{'Weld',Torso,Part0=Torso,Part1=Stand,C0=cn(0,-2.5*Scale,0)}
- wLSho=iNew{'Weld',LSho,Part0=pTorso,Part1=LSho,C0=cn(-1.5*Scale,0.75*Scale,0),C1=cn(0,0.25*Scale,0)}
- wLArm=iNew{'Weld',LArm,Part0=LSho,Part1=LArm,C0=cn(0,-0.75*Scale,0),C1=cn(0,0.75*Scale,0)}
- wRSho=iNew{'Weld',RSho,Part0=pTorso,Part1=RSho,C0=cn(1.5*Scale,0.75*Scale,0),C1=cn(0,0.25*Scale,0)}
- wRArm=iNew{'Weld',RArm,Part0=RSho,Part1=RArm,C0=cn(0,-0.75*Scale,0),C1=cn(0,0.75*Scale,0)}
- wLThi=iNew{'Weld',LThi,Part0=pTorso,Part1=LThi,C0=cn(-0.5*Scale,-1*Scale,0),C1=cn(0,0.75*Scale,0)}
- wLLeg=iNew{'Weld',LLeg,Part0=LThi,Part1=LLeg,C0=cn(1,-0.75*Scale,0),C1=cn(0,0.75*Scale,0)}
- wRThi=iNew{'Weld',RThi,Part0=pTorso,Part1=RThi,C0=cn(0.5*Scale,-1*Scale,0),C1=cn(0,0.75*Scale,0)}
- wRLeg=iNew{'Weld',RLeg,Part0=RThi,Part1=RLeg,C0=cn(0,-0.75*Scale,0),C1=cn(0,0.75*Scale,0)}
- wLSho.C0=cn(-1.5*Scale,0.75*Scale,0)*ca(0,0,-135) --a,b
- wLArm.C0=cn(0,-0.75*Scale,0)*ca(0,0,0) --c,d
- wRSho.C0=cn(1.5*Scale,0.75*Scale,0)*ca(0,0,135) --e,f
- wRArm.C0=cn(0,-0.75*Scale,0)*ca(0,0,0) --g,h
- ----
- wLThi.C0=cn(-0.5*Scale,-1*Scale,0)*ca(0,0,-45) --i,j
- wLLeg.C0=cn(0,-0.75*Scale,0)*ca(0,0,0) --k,l
- wRThi.C0=cn(0.5*Scale,-1*Scale,0)*ca(0,0,45) --m,n
- wRLeg.C0=cn(0,-0.75*Scale,0)*ca(0,0,0) --o,p
- BG=iNew{'BodyGyro',Torso,maxTorque=nov3}
- BP=iNew{'BodyPosition',Torso,maxForce=nov3}
- fUNDYING=Hum.Died:connect(UNDYING)
- LimbNames={'LSho','RSho','LArm','RArm','RThi','LThi','RLeg','LLeg'}
- for i=1,8 do local v=LimbNames[i] LimbNames[v]=getfenv()["w"..v] end
- RootLimbs={pHead,pTorso,LSho,RSho,LArm,RArm,RThi,LThi,RLeg,LLeg}
- Anim,LegAnim,ArmAnim='Sit','Sit','Sit'
- local a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p=GetPose()
- SetWeld(wLSho,0,1,1,a,b,v3(-1.5*Scale,0.5*Scale,0),v3(0,0,-10),1)
- SetWeld(wLArm,0,1,1,c,d,v3(0,-0.75*Scale,0),v3(10,0,10),1)
- SetWeld(wRSho,0,1,1,e,f,v3(1.5*Scale,0.5*Scale,0),v3(0,0,10),1)
- SetWeld(wRArm,0,1,1,g,h,v3(0,-0.75*Scale,0),v3(10,0,-10),1)
- SetWeld(wLThi,0,1,1,i,j,v3(-0.5*Scale,-1*Scale,0),v3(15,0,-5),1)
- SetWeld(wLLeg,0,1,1,k,l,v3(0,-0.75*Scale,0),v3(-15,0,5),1)
- SetWeld(wRThi,0,1,1,m,n,v3(0.5*Scale,-1*Scale,0),v3(15,0,5),1)
- SetWeld(wRLeg,0,1,1,o,p,v3(0,-0.75*Scale,0),v3(-15,0,-5),1)
- Oa,Ob,Oc,Od,Oe,Of,Og,Oh,Oi,Oj,Ok,Ol,Om,On,Oo,Op=GetPose()
- SetWeld(wLSho,0,1,1,nov3,nov3,a,b,1)
- SetWeld(wLArm,0,1,1,nov3,nov3,c,d,1)
- SetWeld(wRSho,0,1,1,nov3,nov3,e,f,1)
- SetWeld(wRArm,0,1,1,nov3,nov3,g,h,1)
- SetWeld(wLThi,0,1,1,nov3,nov3,i,j,1)
- SetWeld(wLLeg,0,1,1,nov3,nov3,k,l,1)
- SetWeld(wRThi,0,1,1,nov3,nov3,m,n,1)
- SetWeld(wRLeg,0,1,1,nov3,nov3,o,p,1)
- end
- function GetPose()
- local a,b=GetWeld(wLSho,0)
- local c,d=GetWeld(wLArm,0)
- local e,f=GetWeld(wRSho,0)
- local g,h=GetWeld(wRArm,0)
- local i,j=GetWeld(wLThi,0)
- local k,l=GetWeld(wLLeg,0)
- local m,n=GetWeld(wRThi,0)
- local o,p=GetWeld(wRLeg,0)
- local q,r=GetWeld(wTorso,0)
- return a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r
- end
- MakeAI(SpawnPoint)
- ASpeed=28
- coroutine.resume(coroutine.create(function()
- SetWeld(wLSho,0,1,1,nov3,nov3,wLSho.C0.p,v3(45,0,-10),1)
- SetWeld(wLArm,0,1,1,nov3,nov3,wLArm.C0.p,v3(45,0,10),1)
- SetWeld(wRSho,0,1,1,nov3,nov3,wRSho.C0.p,v3(45,0,10),1)
- SetWeld(wRArm,0,1,1,nov3,nov3,wRArm.C0.p,v3(45,0,-10),1)
- SetWeld(wLThi,0,1,1,nov3,nov3,v3(-0.5*Scale,-0.6*Scale,-0.5*Scale),v3(125,0,-12),1)
- SetWeld(wLLeg,0,1,1,nov3,nov3,wLLeg.C0.p,v3(-70,0,12),1)
- SetWeld(wRThi,0,1,1,nov3,nov3,v3( 0.5*Scale,-0.6*Scale,-0.5*Scale),v3(125,0,12),1)
- SetWeld(wRLeg,0,1,1,nov3,nov3,wRLeg.C0.p,v3(-70,0,-12),1)
- SetWeld(wTorso,0,1,1,oTorso,nov3,v3(0,-3*Scale,0),nov3,1)
- wait(1)
- Anim='Standing'
- local a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p=GetPose()
- for x=1,ASpeed do
- SetWeld(wTorso,0,x,ASpeed,wTorso.C0.p,nov3,oTorso,nov3,1)
- SetWeld(wLSho,0,x,ASpeed,a,b,v3(-1.5*Scale,0.5*Scale,0),v3(0,0,-10),1)
- SetWeld(wLArm,0,x,ASpeed,c,d,v3(0,-0.75*Scale,0),v3(10,0,10),1)
- SetWeld(wRSho,0,x,ASpeed,e,f,v3(1.5*Scale,0.5*Scale,0),v3(0,0,10),1)
- SetWeld(wRArm,0,x,ASpeed,g,h,v3(0,-0.75*Scale,0),v3(10,0,-10),1)
- SetWeld(wLThi,0,x,ASpeed,i,j,v3(-0.5*Scale,-1*Scale,0),v3(15,0,-5),1)
- SetWeld(wLLeg,0,x,ASpeed,k,l,v3(0,-0.75*Scale,0),v3(-15,0,5),1)
- SetWeld(wRThi,0,x,ASpeed,m,n,v3(0.5*Scale,-1*Scale,0),v3(15,0,5),1)
- SetWeld(wRLeg,0,x,ASpeed,o,p,v3(0,-0.75*Scale,0),v3(-15,0,-5),1)
- wait()
- end
- ArmAnim='None'
- LegAnim='None'
- Anim='None'
- end))
- --Target=PChar
- function Stay(bool,cff)
- BG.maxTorque=bool and v3(1,1,1)/0 or nov3 BG.cframe=cff or Torso.CFrame
- BP.maxForce=BG.maxTorque BP.position=Torso.Position
- end
- function fMarble(Ch,func)
- for i,v in pairs(Ch:children()) do
- for x=-1,1,2 do
- for y=-1,1,2 do
- for z=-1,1,2 do
- if v:findFirstChild(x..y..z) then func(v[x..y..z]) end
- end end end
- end
- end
- function ReturnAnim()
- local ne1,ne2=GetWeld(pNeck,0)
- local wt1,wt2=GetWeld(wTorso,0)
- local a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p=GetPose()
- for x=1,ASpeed do
- SetWeld(wLSho,0,x,ASpeed,a,b,Oa,Ob,1)
- SetWeld(wLArm,0,x,ASpeed,c,d,Oc,Od,1)
- SetWeld(wRSho,0,x,ASpeed,e,f,Oe,Of,1)
- SetWeld(wRArm,0,x,ASpeed,g,h,Og,Oh,1)
- SetWeld(wLThi,0,x,ASpeed,i,j,Oi,Oj,1)
- SetWeld(wLLeg,0,x,ASpeed,k,l,Ok,Ol,1)
- SetWeld(wRThi,0,x,ASpeed,m,n,Om,On,1)
- SetWeld(wRLeg,0,x,ASpeed,o,p,Oo,Op,1)
- SetWeld(wTorso,0,x,ASpeed,wt1,wt2,oTorso,nov3,1)
- SetWeld(pNeck,0,x,ASpeed,ne1,ne2,v3(0,1.5,0)*Scale,nov3,1)
- wait()
- end
- end
- ChatConnection=Player.Chatted:connect(function(msg)
- coroutine.resume(coroutine.create(function()
- if not Char.Parent then return end
- local Sep,sep=se(';',msg)
- local p1,p2=findplayer(Sep[2]),findplayer(Sep[3])
- local cmd=sep[1]
- --print(Sep[1])
- --print(LimbNames[Sep[1]])
- Tt=(p1 and p1.Character and p1.Character:findFirstChild'Torso') and p1.Character.Torso or nil
- if cmd=='sit' and (Anim=='None' or Anim=='Follow') then
- Anim='Sitting'
- Hum:MoveTo(Torso.Position,Torso)
- LegAnim,ArmAnim='Sit','Sit'
- for x=1,ASpeed do
- SetWeld(wLSho,0,x,ASpeed,Oa,Ob,Oa,v3(45,0,-10),1)
- SetWeld(wLArm,0,x,ASpeed,Oc,Od,Oc,v3(45,0,10),1)
- SetWeld(wRSho,0,x,ASpeed,Oe,Of,Oe,v3(45,0,10),1)
- SetWeld(wRArm,0,x,ASpeed,Og,Oh,Og,v3(45,0,-10),1)
- SetWeld(wLThi,0,x,ASpeed,Oi,Oj,v3(-0.5*Scale,-0.6*Scale,-0.5*Scale),v3(125,0,-12),1)
- SetWeld(wLLeg,0,x,ASpeed,Ok,Ol,Ok,v3(-70,0,12),1)
- SetWeld(wRThi,0,x,ASpeed,Om,On,v3( 0.5*Scale,-0.6*Scale,-0.5*Scale),v3(125,0,12),1)
- SetWeld(wRLeg,0,x,ASpeed,Oo,Op,Oo,v3(-70,0,-12),1)
- SetWeld(wTorso,0,x,ASpeed,oTorso,nov3,v3(0,-3*Scale,0),nov3,1)
- wait()
- end
- Anim='Sit'
- elseif (cmd=='stand' or cmd=='stop') and (Anim=='Roll' or Anim=='Sit' or Anim=='Follow' or Anim=='Form' or Anim=='Dance' or Anim=='Grab') then
- if Anim=='Sit' or Anim=='Form' or Anim=='Dance' or Anim=='Roll' then
- Anim='Returning'
- ReturnAnim()
- else
- Target=nil
- wait(0.2)
- Hum:MoveTo(Torso.Position,Torso)
- end
- LegAnim,ArmAnim,Anim='None','None','None'
- elseif cmd=='follow' and Tt and Anim=='None' then
- Anim='Follow'
- Target=p1.Character
- elseif cmd=='shoot' and Tt and RArm['1-11'].Transparency~=1 and ArmAnim=='None' then
- Target=p1.Character
- ArmAnim='Shoot'
- FaceBG(Tt.Position)
- wait(0.1)
- local cff=cn(pTorso.CFrame.p,v3(Tt.Position.x,pTorso.Position.y,Tt.Position.z))
- local ofs=cff:toObjectSpace(cn(cff*cn(1.5*Scale,0.5*Scale,0).p,Tt.CFrame*cn(0,2,0).p)*ca(90,0,0)*cn(0,-0.25*Scale,0))
- local x,y,z=ofs:toEulerAnglesXYZ()
- local rot=v3(mdeg(x),mdeg(y),mdeg(z))
- for q=1,ASpeed do
- SetWeld(wRArm,0,q,ASpeed,Og,Oh,Og,nov3,1)
- SetWeld(wRSho,0,q,ASpeed,Oe,Of,ofs.p,rot,1)
- SetWeld(wRSho,1,q,ASpeed,v3(0,0.25*Scale,0),nov3,nov3,nov3,1)
- wait()
- end
- for y=-1,1,2 do for x=-1,1,2 do for z=-1,1,2 do
- local new=RArm[x..y..z]:Clone() new.Parent=RArm game.Debris:AddItem(new,8) new.Touched:connect(function(hit) Damage(hit.Parent:findFirstChild'Humanoid') end)
- new.CFrame=RArm[x..y..z].CFrame*cn(0,-Scale*1.5,0) new.CanCollide=true new.Velocity=cn(new.Position,Target.Torso.Position).lookVector*((new.Position-Target.Torso.Position).magnitude*20+900)
- RArm[x..y..z].Transparency=1 so.Block:Play() wait(0.06)
- end end end
- RArm.Transparency=1
- delay(1,function()
- for x=-1,1,2 do for y=-1,1,2 do for z=-1,1,2 do local new=RArm[x..y..z]:Clone() new.Transparency=0 new.CanCollide=false new.Name='f'..new.Name new.Parent=RArm new.CFrame=RArm.CFrame*cn(Scale*x*2,Scale*-3,Scale*z*2)
- iNew{'BodyPosition',new,maxForce=v3(1,1,1)/0,position=RArm[x..y..z].Position} wait(0.14) end end end
- DoLoop(35,function(i) for x=-1,1,2 do for y=-1,1,2 do for z=-1,1,2 do RArm['f'..x..y..z].BodyPosition.position=RArm[x..y..z].Position if i==1 then RArm['f'..x..y..z]:Remove() RArm[x..y..z].Transparency=0 RArm.Transparency=0 end end end end end)
- end)
- for q=1,ASpeed do
- SetWeld(wRArm,0,q,ASpeed,Og,nov3,Og,Oh,1)
- SetWeld(wRSho,0,q,ASpeed,ofs.p,rot,Oe,Of,1)
- SetWeld(wRSho,1,q,ASpeed,nov3,nov3,v3(0,0.25*Scale,0),nov3,1)
- wait()
- end
- BG.maxTorque=nov3
- ArmAnim='None'
- elseif cmd=='slam' and (Anim=='None' or Anim=='Follow') and Tt then
- Target=p1
- local lTt=Tt
- Anim='Follow'
- repeat Hum:MoveTo(Tt.Position+v3(0.5,0.5,0.5),Tt) wait(0.2) until lTt~=Tt or (Tt.Position-pTorso.Position).magnitude<10+Scale*5.5 or Anim~='Follow'
- if Anim~='Follow' then BG.maxTorque=nov3 return end
- if lTt~=Tt then return end
- Anim,LegAnim,ArmAnim='Slam','',''
- Hum:MoveTo(Torso.Position,Torso)
- FaceBG(Tt.Position)
- Stay(true,BG.cframe)
- local a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p=GetPose()
- ASpeed2=15
- for x=1,ASpeed2 do
- SetWeld(wLSho,0,x,ASpeed2,a,b,Oa,v3(180,0,0),1)
- SetWeld(wRSho,0,x,ASpeed2,e,f,Oe,v3(180,0,0),1)
- SetWeld(wTorso,0,x,ASpeed2,nov3,nov3,v3(0,3,0)*Scale,nov3,1)
- wait()
- end
- for x=1,ASpeed2 do
- SetWeld(wTorso,0,x,ASpeed2,v3(0,3,0)*Scale,nov3,v3(0,-3*Scale+2.5,-6*Scale),v3(-89,0,0),1)
- wait()
- end
- AOEFind(pTorso.Position,6.5*Scale,function(Hum) Damage(Hum,3,true) Hum.Sit=true end)
- MeshEffect(35,Torso.CFrame*cn(0,-3.5*Scale,-6*Scale)*ca(90,0,0),nil,v3(2,2,1)*Scale,v3(12,12,5)*Scale,0.2,1,'Light stone grey',as.ring)
- wait(0.5)
- for x=1,ASpeed do
- SetWeld(wTorso,0,x,ASpeed,v3(0,-3*Scale+2.5,-6*Scale),v3(-90,0,0),nov3,nov3,1)
- SetWeld(wLSho,0,x,ASpeed,Oa,v3(180,0,0),Oa,Ob,1)
- SetWeld(wRSho,0,x,ASpeed,Oe,v3(180,0,0),Oe,Of,1)
- wait()
- end
- Stay(false)
- Anim,LegAnim,ArmAnim='None','None','None'
- elseif cmd=='boulder' and Anim=='None' then
- Target=p1.Character
- Anim,LegAnim,ArmAnim='','',''
- Stay(true)
- FaceBG(Tt.Position)
- for x=1,ASpeed do
- SetWeld(wLSho,0,x,ASpeed,Oa,Ob,Oa,v3(135,0,0),1)
- SetWeld(wLArm,0,x,ASpeed,Oc,Od,Oc,v3(0,0,0),1)
- SetWeld(wRSho,0,x,ASpeed,Oe,Of,Oe,v3(135,0,0),1)
- SetWeld(wRArm,0,x,ASpeed,Og,Oh,Og,v3(0,0,-10),1)
- SetWeld(wLThi,0,x,ASpeed,Oi,Oj,v3(-0.5,-0.5,0.25)*Scale,v3(45,0,-15),1)
- SetWeld(wLLeg,0,x,ASpeed,Ok,Ol,Ok,v3(0,0,0),1)
- SetWeld(wRThi,0,x,ASpeed,Om,On,v3( 0.5,-0.5,0.25)*Scale,v3(45,0,15),1)
- SetWeld(wRLeg,0,x,ASpeed,Oo,Op,Oo,v3(0,0,0),1)
- SetWeld(wTorso,0,x,ASpeed,oTorso,nov3,v3(0,-1.5,-1.5)*Scale,v3(-90,0,0),1)
- wait()
- end
- wait(0.2)
- local boulder=iPart{Char,1,1,1,type='WedgePart'} boulder.Material=Mat
- local wm=iNew{'SpecialMesh',boulder,Scale=v3(4,3,4)*Scale,MeshType='Wedge'}
- local wb=iNew{'Weld',boulder,Part0=RArm,Part1=boulder,C0=cn(-1.5*Scale,-2.3*Scale,0)*ca(180,180,0)}
- local a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r=GetPose()
- for x=1,ASpeed*2 do
- SetWeld(wLSho,0,x,ASpeed*2,a,b,a,v3(225,0,0),1)
- SetWeld(wLArm,0,x,ASpeed*2,c,d,c,v3(45,0,0),1)
- SetWeld(wRSho,0,x,ASpeed*2,e,f,e,v3(225,0,0),1)
- SetWeld(wRArm,0,x,ASpeed*2,g,h,g,v3(45,0,0),1)
- SetWeld(wLThi,0,x,ASpeed*2,i,j,Oi,v3(0,0,-15),1)
- SetWeld(wLLeg,0,x,ASpeed*2,k,l,k,v3(0,0,0),1)
- SetWeld(wRThi,0,x,ASpeed*2,m,n,Om,v3(0,0,15),1)
- SetWeld(wRLeg,0,x,ASpeed*2,o,p,o,v3(0,0,0),1)
- SetWeld(wTorso,0,x,ASpeed*2,q,r,nov3,nov3,1)
- wait()
- end
- FaceBG(Tt.Position)
- for x=1,ASpeed/2 do
- SetWeld(wLSho,0,x,math.floor(ASpeed/2),a,v3(225,0,0),a,v3(90,0,0),1)
- SetWeld(wLArm,0,x,math.floor(ASpeed/2),c,v3(45,0,0),c,v3(45,0,0),1)
- SetWeld(wRSho,0,x,math.floor(ASpeed/2),e,v3(225,0,0),e,v3(90,0,0),1)
- SetWeld(wRArm,0,x,math.floor(ASpeed/2),g,v3(45,0,0),g,v3(45,0,0),1)
- wait()
- end
- local bcf=boulder.CFrame
- wb:Remove()
- wm:Remove()
- boulder.Size=wm.Scale
- boulder.CFrame=cn(boulder.Position,Target.Torso.Position)*cn(0,3,-1)*ca(0,180,0)
- --boulder.Friction=0.1
- boulder.Elasticity=0
- boulder.Velocity=(boulder.CFrame*ca(0,180,0)).lookVector*((boulder.Position-Target.Torso.Position).magnitude*1+90)
- boulder.RotVelocity=nov3
- game.Debris:AddItem(boulder,8)
- Stay(false)
- ReturnAnim()
- Anim,LegAnim,ArmAnim='None','None','None'
- elseif cmd=='grab' and Tt and not Grabbing then
- Target=p1
- local lTt=Tt
- Anim='Follow'
- repeat Hum:MoveTo(Tt.Position+v3(0.5,0.5,0.5),Tt) wait(0.2) until lTt~=Tt or (Tt.Position-Stand.CFrame*cn(0,-Stand.Size.y/2+1,-2.8*Scale).p).magnitude<10 or Anim~='Follow'
- if Anim~='Follow' then BG.maxTorque=nov3 return end
- if lTt~=Tt then return end
- pcall(function() Tt.Parent.Humanoid.PlatformStand=true end)
- Hum:MoveTo(Torso.Position,Torso)
- Anim,LegAnim,ArmAnim='Grab','',''
- FaceBG(Tt.Position)
- for x=1,ASpeed do
- SetWeld(wLSho,0,x,ASpeed,Oa,Ob,Oa,v3(-30,0,-30),1)
- SetWeld(wLArm,0,x,ASpeed,Oc,Od,Oc,v3(0,0,0),1)
- SetWeld(wRSho,0,x,ASpeed,Oe,Of,Oe,v3(145,0,-30),1)
- SetWeld(wRArm,0,x,ASpeed,Og,Oh,Og,v3(0,0,0),1)
- SetWeld(wLThi,0,x,ASpeed,Oi,Oj,v3(-0.5,-0.4,0.3)*Scale,v3(70,0,0),1)
- SetWeld(wLLeg,0,x,ASpeed,Ok,Ol,Ok,v3(-20,0,0),1)
- SetWeld(wRThi,0,x,ASpeed,Om,On,v3(0.5,-0.5,-0.3)*Scale,v3(135,0,0),1)
- SetWeld(wRLeg,0,x,ASpeed,Oo,Op,Oo,v3(-90,0,0),1)
- SetWeld(wTorso,0,x,ASpeed,oTorso,nov3,v3(0,-2,-1.5)*Scale,v3(-90,0,0),1)
- wait()
- end
- local ofs=RArm.CFrame:toObjectSpace(Tt.CFrame)
- Tt.Parent.Humanoid.PlatformStand=true
- Grabbing=iNew{'Weld',RArm,Part0=RArm,Part1=Tt,C0=ofs}
- local a,b=GetWeld(Grabbing,0)
- for x=1,ASpeed do
- SetWeld(Grabbing,0,x,ASpeed,a,b,v3(0,-0.75*Scale-1,0),v3(-90,0,0),1)
- wait()
- end
- Stay(false)
- ReturnAnim()
- Anim,LegAnim,ArmAnim='None','None','None'
- elseif cmd=='dance' and (Anim=='None' or Anim=='Follow') then
- Hum:MoveTo(pTorso.Position,pTorso)
- Anim,ArmAnim,LegAnim='Dance','Dance','Dance'
- local ASpeed=math.floor(ASpeed/2)
- repeat
- local a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r=GetPose()
- for x=1,ASpeed do
- if Anim~='Dance' then break end
- SetWeld(wLSho,0,x,ASpeed,a,b,v3(-1.2,0.5,-0.25)*Scale,v3(35,0,30),1)
- SetWeld(wLArm,0,x,ASpeed,c,d,c,v3(25,0,0),1)
- SetWeld(wRSho,0,x,ASpeed,e,f,v3( 1.2,0.5,-0.25)*Scale,v3(45,0,-30),1)
- SetWeld(wRArm,0,x,ASpeed,g,h,g,v3(25,0,0),1)
- SetWeld(wLThi,0,x,ASpeed,i,j,i,v3(0,0,0),1)
- SetWeld(wLLeg,0,x,ASpeed,k,l,k,v3(0,0,0),1)
- SetWeld(wRThi,0,x,ASpeed,m,n,m,v3(45,0,20),1)
- SetWeld(wRLeg,0,x,ASpeed,o,p,o,v3(-45,0,-20),1)
- wait()
- end
- local a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r=GetPose()
- for x=1,ASpeed do
- if Anim~='Dance' then break end
- SetWeld(wLSho,0,x,ASpeed,a,b,v3(-1.2,0.5,-0.25)*Scale,v3(95,0,30),1)
- SetWeld(wLArm,0,x,ASpeed,c,d,c,v3(-10,0,0),1)
- SetWeld(wRSho,0,x,ASpeed,e,f,v3( 1.2,0.5,-0.25)*Scale,v3(105,0,-30),1)
- SetWeld(wRArm,0,x,ASpeed,g,h,g,v3(-10,0,0),1)
- SetWeld(wLThi,0,x,ASpeed,i,j,i,v3(45,0,-20),1)
- SetWeld(wLLeg,0,x,ASpeed,k,l,k,v3(-45,0,20),1)
- SetWeld(wRThi,0,x,ASpeed,m,n,m,v3(0,0,0),1)
- SetWeld(wRLeg,0,x,ASpeed,o,p,o,v3(0,0,0),1)
- wait()
- end
- until Anim~='Dance'
- elseif cmd=='roll' and (Anim=='None' or Anim=='Follow') then
- Target=p1
- local lTt=Tt
- Anim,ArmAnim,LegAnim='Roll','',''
- local a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r=GetPose()
- local n1,n2=GetWeld(pNeck,0)
- for x=1,ASpeed do
- SetWeld(wLSho,0,x,ASpeed,a,b,v3(-1.5,0.5,0)*Scale,v3(0,0,-45),1)
- SetWeld(wLArm,0,x,ASpeed,c,d,c,v3(0,0,90),1)
- SetWeld(wRSho,0,x,ASpeed,e,f,v3( 1.5,0.5,0)*Scale,v3(0,0,45),1)
- SetWeld(wRArm,0,x,ASpeed,g,h,g,v3(0,0,-90),1)
- SetWeld(wLThi,0,x,ASpeed,i,j,v3(0,1, 0.5)*Scale,v3(-30,0,0),1)
- SetWeld(wLLeg,0,x,ASpeed,k,l,k,v3(60,0,0),1)
- SetWeld(wRThi,0,x,ASpeed,m,n,v3(0,1,-0.5)*Scale,v3(30,0,0),1)
- SetWeld(wRLeg,0,x,ASpeed,o,p,o,v3(-60,0,0),1)
- SetWeld(pNeck,0,x,ASpeed,n1,n2,v3(0,0,0),n2,1)
- SetWeld(wTorso,0,x,ASpeed,oTorso,nov3,v3(0,-2,0)*Scale,nov3,1)
- wait()
- end
- tWS[2]=3
- repeat
- local cf=Torso.CFrame*cn(mran2(-1,1)*Scale,-4*Scale,0.5*Scale)*ca(90+mran(-20,20),mran(-30,30),0)
- MeshEffect(24,cf,cf*cn(0,4*Scale,0),v3(0.5,0.5,0.5)*Scale,v3(mran2(1,4),mran2(3,5),mran2(1,3))*Scale,0.1,1,'Dark stone grey','Brick')
- Hum:MoveTo(Tt.CFrame*cn(0,0,Scale).p,Tt) wTorso.C0=wTorso.C0*ca(-20,0,0) wait(0.035) until lTt~=Tt or (Tt.Position-Stand.CFrame*cn(0,-Stand.Size.y/2+1,-2.8*Scale).p).magnitude<6 or Anim~='Roll'
- tWS[2]=1
- ClearWeld(wTorso)
- if Anim~='Roll' then return end
- Hum:MoveTo(Torso.Position+v3(0,1,0),Torso)
- Torso.Anchored=true Torso.Velocity=nov3
- local cf=Stand.CFrame*cn(0,0,-1.5*Scale)*ca(-45,0,0) --iPart{Char,1,1,1,co='Black',cf=cf,an=true}
- MeshEffect(50,cf,nil,v3(3.5,3.5,2)*Scale,v3(11,11,6)*Scale,0.1,1,'White',as.ring)
- for i=1,16 do
- local cf=cf*ca(90,360*(i/16),0)*ca(45,0,0)
- MeshEffect(40,cf,cf*cn(0,10*Scale,0),v3(0.2,2,0.2)*Scale,v3(1,5,1)*Scale,0.1,1,'','Sphere')
- end
- AOEFind(cf.p,6.5*Scale,function(Hum,v) Damage(Hum,2,true) Hum.Sit=true v.Velocity=cn(pTorso.Position,v.Position).lookVector*50 end)
- wait(0.2)
- Torso.Anchored=false
- ReturnAnim()
- Hum:MoveTo(Torso.Position,Torso)
- Anim,LegAnim,ArmAnim='None','None','None'
- elseif cmd=='beam' and (Anim=='None' or Anim=='Follow') then
- Anim='beam'
- local che =iPart{Char,1,1,1,sc=Scale,co=CC[1],ma=Mat} local chew=iNew{'Weld',che ,Part0=pTorso,Part1=che}
- local che2=iPart{che ,0.8*Scale,0.2,0.8*Scale,co='Really black'} local che2w=iNew{'Weld',che2,Part0=che,Part1=che2}
- local chem=iNew{'CylinderMesh',che} iNew{'CylinderMesh',che2}
- local chest,chex,i={},0,0
- for x=-1,1,2 do for y=-1,1,2 do i=i+1 chest[i]={pTorso[x..y..'-1']} chest[i][2]=chest[i][1].Weld chest[i][3]=chest[i][2].C0
- local xx,yy,zz=chest[i][2].C0:toEulerAnglesXYZ() chest[i][4]=v3(mdeg(xx),mdeg(yy),mdeg(zz))
- chest[i][5]=cn(0.45*x*Scale,0,-0.5*Scale)*chest[i][3] chest[i][6]=chest[i][4]+v3(0,-105*x,0) end end
- local len=1.75
- local dochest=function(v,chexx,adj)
- local p=v/ASpeed
- chex=adj*p
- chem.Scale=v3(1,len*p,1)
- chew.C0=ca(chexx+chex,0,0)*cn(0,len/2*p*Scale,0)
- che2w.C0=cn(0,len/2*p*Scale,0)
- for i=1,4 do SetWeld(chest[i][2],0,v,ASpeed,chest[i][3],chest[i][4],chest[i][5],chest[i][6],1) end
- end
- for v=1,ASpeed do if Tt then FaceBG(Tt.Position) end dochest(v,-90,-45) wait() end
- local beam=iPart{Char,0.7*Scale,1,0.7*Scale,co='New Yeller',an=true,tr=0.3} beamm=iNew{'CylinderMesh',beam}
- for i=1,ASpeed*3 do
- local p=i/ASpeed*3
- chex=90*math.sin((math.pi/2)/(ASpeed*3)*i)
- chew.C0=ca(-135+chex,0,0)*cn(0,len/2*Scale,0)
- local hit,pos=ray(che2.Position,che2.Position-che2.CFrame*cn(0,-1,0).p,Char)
- local mag=(che2.Position-pos).magnitude local p1,p2=che2.Position+v3(mran2(-1,1),mran2(-1,1),mran2(-1,1))/3,pos+v3(mran2(-1,1),mran2(-1,1),mran2(-1,1))/3
- beam.CFrame=cn(p1,p2)*cn(0,0,-mag/2)*ca(90,0,0) beamm.Scale=v3(1,mag+(Scale/3),1)
- AOEFind(pos,Scale*2,function(Hum) Damage(Hum,2.5) end)
- if i%2==0 then for i=1,5 do local cf=cn(pos)*ca(0,mran(-180,180),mran(-95,95)) MeshEffect(8,cf,cf*cn(0,Scale*2.2,0),v3(0.1,0.4,0.1)*Scale,v3(0.4,3,0.4)*Scale,0.2,1,CC[mran(2,3)],as.cone) end
- MeshEffect(8,cn(pos),nil,v3(0.8,0.8,0.8)*Scale,v3(4,4,4)*Scale,0.2,1,CC[mran(2,3)],'Sphere') end
- if Tt then FaceBG(Tt.Position) end
- wait()
- end
- DoLoop(12,function(i) beam.Transparency=0.3+i*0.7 if i==1 then beam:Remove() end end)
- for v=ASpeed,0,-1 do dochest(v,-90,45) wait() end
- Stay(false)
- che:Remove()
- Anim='None'
- ---------------------------------------------------------------------------=---WWWWWWWWWWWWWWWWWW
- elseif cmd=='box' and (Anim=='None' or Anim=='Follow') then
- Anim,ArmAnim='cart','cart'
- for x=1,ASpeed do
- SetWeld(wLSho,0,x,ASpeed,Oa,Ob,Oa,v3(90,0,10),1)
- SetWeld(wLArm,0,x,ASpeed,Oc,Od,Oc,v3(0,0,25),1)
- SetWeld(wRSho,0,x,ASpeed,Oe,Of,Oe,v3(90,0,-10),1)
- SetWeld(wRArm,0,x,ASpeed,Og,Oh,Og,v3(0,0,-25),1)
- wait()
- end
- Stay(true)
- local spawn=RArm.CFrame*cn(0,-0.75*Scale-2,0)*ca(-90,0,0)
- local des=iPart{Char,1,1,1,an=true,ma=Mat,cf=spawn,ca=false}
- for i=1,6,0.2 do des.Size=v3(i,i,i) des.CFrame=spawn*cn(0,0,-i/2) wait() end
- local cart=iNew{'Model',workspace,Name='Cart'}
- local base=iPart{cart,4,1,5,ma=Mat,cf=des.CFrame} iNew{'BodyGyro',base}
- for x=-1,1,2 do
- local new=iPart{cart,0.5,4,5,ma=Mat,cf=base.CFrame} iNew{'Weld',new,Part0=base,Part1=new,C0=cn(1.75*x,2.5,0)}
- local new=iPart{cart,3.5,4,0.5,ma=Mat,cf=base.CFrame} iNew{'Weld',new,Part0=base,Part1=new,C0=cn(0,2.5,2.25*x)}
- end
- for i=6,0.8,-0.2 do des.Size=v3(i,i,i) des.CFrame=spawn*cn(0,0,-i/2) wait() end des:Remove()
- Stay(false)
- ReturnAnim()
- Anim,ArmAnim='None','None'
- elseif cmd=='crush' and Grabbing and (Anim=='None' or Anim=='Follow') then
- Anim,ArmAnim='crush','crush'
- for x=1,ASpeed do
- SetWeld(wLSho,0,x,ASpeed,Oa,Ob,Oa,v3(80,0,-160),1)
- SetWeld(wLArm,0,x,ASpeed,Oc,Od,Oc,v3(0,0,80),1)
- SetWeld(wRSho,0,x,ASpeed,Oe,Of,Oe,v3(80,0,160),1)
- SetWeld(wRArm,0,x,ASpeed,Og,Oh,Og,v3(0,0,-80),1)
- wait()
- end
- local a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r=GetPose()
- wait(0.2)
- for x=1,ASpeed/2 do
- SetWeld(wLSho,0,x,ASpeed/2,a,b,Oa,v3(80,0,-14),1)
- SetWeld(wLArm,0,x,ASpeed/2,c,d,Oc,v3(0,0,80),1)
- SetWeld(wRSho,0,x,ASpeed/2,e,f,Oe,v3(80,0,14),1)
- SetWeld(wRArm,0,x,ASpeed/2,g,h,Og,v3(0,0,-80),1)
- wait()
- end
- MeshEffect(35,Grabbing.Part1.CFrame,nil,v3(2,2,1)*Scale,v3(7,7,3)*Scale,0.3,1,'Light stone grey',as.ring)
- local crushjo=60
- pcall(function() for i,v in pairs({'Neck','Left Shoulder','Right Shoulder','Left Hip','Right Hip'}) do local w=Grabbing.Part1.Parent.Torso[v] w.C1=w.C1*ca(mran(-crushjo,crushjo),mran(-crushjo,crushjo),mran(-crushjo,crushjo)) end end)
- local hit=Grabbing.Part1
- Grabbing:Remove() Grabbing=nil
- wait(2)
- pcall(function() hit.Parent.Humanoid.PlatformStand=false end)
- ReturnAnim()
- Anim,ArmAnim='None','None'
- elseif cmd=='eat' and Grabbing and (Anim=='None' or Anim=='Follow') then
- Anim,ArmAnim='Eat','Eat'
- for x=1,ASpeed*2 do
- SetWeld(wRSho,0,x,ASpeed*2,Oe,Of,Oe,v3(135,0,15),1)
- SetWeld(wRArm,0,x,ASpeed*2,Og,Oh,Og,v3(45,-10,-100),1)
- wait()
- end
- wait(1)
- for x=1,40 do
- SetWeld(wRSho,0,1,1,Oe,Of,Oe,v3(135+mran(-3,3),0,15+mran(-3,3)),1)
- SetWeld(wRArm,0,1,1,Og,Oh,Og,v3(45,-10+mran(-12,12),-100+mran(-3,3)),1)
- wait(0.05)
- if x%2==0 then
- local cf=Grabbing.Part1.CFrame*ca(180,mran(-180,180),mran(-40,40))*cn(0,1.5,0)
- MeshEffect(24,cf,cf*cn(0,10,0),v3(0.2,2,0.2),v3(0.4,5,0.4),0.1,1,'Really red','Sphere')
- end
- end
- Grabbing.Part1:BreakJoints()
- pcall(function() Grabbing.Part1.Parent.Head:Remove() end)
- Grabbing:Remove() Grabbing=nil
- wait(2)
- ReturnAnim()
- Anim,ArmAnim='None','None'
- elseif cmd=='drop' and Grabbing then
- local hum=Grabbing.Part1.Parent.Humanoid Grabbing:Remove() Grabbing=nil hum.PlatformStand=false
- elseif LimbNames[Sep[1]] and (Anim=='None' or Anim=='Form') then
- Anim,ArmAnim,LegAnim='Form','Form','Form'
- local v1,v2=GetWeld(LimbNames[Sep[1]],0)
- local sepx=se(',',Sep[2])
- for x=1,ASpeed*2 do
- SetWeld(LimbNames[Sep[1]],0,x,ASpeed*2,v1,v2,v1,v3(tonumber(sepx[1]),tonumber(sepx[2]),tonumber(sepx[3])),1)
- wait()
- end
- elseif cmd=='plode' then
- Char:BreakJoints() wait()
- local Pressure=tonumber(sep[2]) or 50
- fMarble(Char,function(v) v.Velocity=cn(Torso.Position,v.Position).lookVector*Pressure end)
- for i,v in pairs(RootLimbs) do v.Velocity=cn(Torso.Position,v.Position).lookVector*Pressure end
- elseif cmd=='explode' then
- iNew{'Explosion',pTorso,Position=pTorso.Position,BlastRadius=Scale*20}
- elseif cmd=='goto' then
- pcall(function()
- Hum:MoveTo(Player:GetMouse().Hit.p,Player:GetMouse().Target) end)
- elseif cmd=='newscale' and tonumber(sep[2]) then
- Char:BreakJoints()
- Scale=tonumber(sep[2])
- if Scale<0.5 then Scale=0.5 end
- if Scale>=100 then Scale=100 end
- elseif cmd=='nobox' then
- for i,v in pairs(workspace:children()) do if v.Name=='Cart' then v:Remove() end end
- elseif cmd=='die' then
- Char:BreakJoints()
- elseif cmd=='brick' then
- iPart{workspace,12,30,30,cf=Player.Character.Torso.CFrame*cn(0,10,-20),tr=0.5,an=true}
- elseif cmd=='test' then
- local pt=Player.Character.Torso.CFrame
- MeshEffect(35,pt*cn(0,5,0)*ca(90,0,0),nil,v3(2,2,1)*Scale,v3(7,7,3)*Scale,0.2,1,'Light stone grey',as.ring)
- else
- end
- end))
- end)
- keys={}
- NewAnim={}
- Player:GetMouse().KeyDown:connect(function(k)
- coroutine.resume(coroutine.create(function() keys[k]=true
- if (k=='q' or k=='e') and (Anim=='None' or Anim=='Laser') and (ArmAnim=='None' or ArmAnim=='Laser') and not NewAnim[k] then
- NewAnim[k]=true
- local w1,w2=k=='q' and wLSho or wRSho,k=='q' and wLArm or wRArm
- local x=k=='q' and -1 or 1
- local aa,bb=GetWeld(w1,0)
- local cc,dd=GetWeld(w2,0)
- local targ=w1.Part1.CFrame*cn(0,-333,0)
- local tips={}
- local co=0
- local sho1=iPart{Char,0.35,RArm.Size.y/Scale+0.15 ,0.35,sc=Scale,co=CC[1]} iNew{'Weld',sho1,Part0=k=='q' and LArm or RArm,Part1=sho1} iNew{'CylinderMesh',sho1}
- local sho2=iPart{Char,0.3,RArm.Size.y/Scale+0.16,0.3,sc=Scale,co='Really black'} iNew{'Weld',sho2,Part0=sho1,Part1=sho2} iNew{'CylinderMesh',sho2}
- for x=-1,1,2 do for z=-1,1,2 do tips[#tips+1]={(k=='q' and LArm or RArm)[x..'-1'..z].Weld}
- co=co+0.25
- local asd=tips[#tips]
- asd[2],asd[3]=GetWeld(asd[1],0)
- local cf=ca(0,360*co,0)*cn(0,asd[2].y*1.8,-0.75*Scale)*ca(-20,0,0)
- asd[4]=cf.p
- local a,b,c=cf:toEulerAnglesXYZ()
- asd[5]=v3(mdeg(a),mdeg(b),mdeg(c))
- end end
- for u=1,ASpeed/2 do
- for i=1,4 do local asd=tips[i]
- SetWeld(asd[1],0,u,ASpeed/2,asd[2],asd[3],asd[4],asd[5],1)
- end wait()
- end
- repeat Anim,ArmAnim,LaserOn='Laser','Laser',true wait()
- for i=1,4 do tips[i][1].C0=ca(0,15*x,0)*tips[i][1].C0 end
- targ=TweenV3(1,12,targ,Player:GetMouse().Hit.p)
- w1.C0=pTorso.CFrame:toObjectSpace(cn(pTorso.CFrame*cn(1.5*Scale*x,0.5*Scale,0).p,targ))*ca(90,0,0)
- w2.C0=cn(0,-0.75*Scale,0)
- until not keys[k]
- ClearWeld(w1) ClearWeld(w2) for i=1,4 do ClearWeld(tips[i][1]) tips[i][6],tips[i][7]=GetWeld(tips[i][1],0) end
- local a,b=GetWeld(w1,0)
- local c,d=GetWeld(w2,0)
- for z=1,ASpeed/2 do
- for i=1,4 do SetWeld(tips[i][1],0,z,ASpeed/2,tips[i][6],tips[i][7],tips[i][2],tips[i][3],1) end
- SetWeld(w1,0,z,ASpeed/2,a,b,aa,bb,1)
- SetWeld(w2,0,z,ASpeed/2,c,d,cc,dd,1)
- wait()
- end
- sho1:Remove() sho2:Remove()
- NewAnim[k]=false
- Anim,ArmAnim,LaserOn='None','None',false
- end
- end)) end)
- Player:GetMouse().KeyUp:connect(function(k) keys[k]=false end)
- Player:GetMouse().Button1Down:connect(function()
- Button=true
- if keys.f and Player:GetMouse().Target and Anim=='None' then
- Hum:MoveTo(Player:GetMouse().Hit.p,Player:GetMouse().Target)
- elseif (keys.q or keys.e) and LaserOn then
- local pick=keys.q and 'q' or 'e'
- repeat
- local ofs=(pick=='q' and LArm or RArm).CFrame*ca(90,0,0)
- if pick=='q' and keys.e then pick='e'
- elseif pick=='e' and keys.q then pick='q' end
- local part=iPart{Char,0.2,0.5,0.2,sc=Scale,co=CC[mran(2,3)],an=true,ma=Mat} iNew{'CylinderMesh',part}
- Projectile(ofs,2*Scale,part,ca(-90,0,0),function(hit,pos)
- AOEFind(pos,Scale*2,function(Hum,v) Damage(Hum) end)
- end,
- function(pos)
- for i=1,5 do local cf=cn(pos)*ca(0,mran(-180,180),mran(-95,95)) MeshEffect(8,cf,cf*cn(0,Scale*2.2,0),v3(0.07,0.3,0.07)*Scale,v3(0.4,3,0.4)*Scale,0.2,1,CC[mran(2,3)],as.cone) end
- MeshEffect(8,cn(pos),nil,v3(0.1,0.1,0.1)*Scale,v3(3,3,3)*Scale,0.2,1,CC[mran(2,3)],'Sphere') part:Remove() end)
- wait((keys.q and keys.e) and 0.2 or 0.4)
- until not Button or (not keys.q and not keys.e)
- elseif 'swag'=='sweg' then
- end
- end)
- Player:GetMouse().Button1Up:connect(function()
- Button=false
- end)
- WalkAnim=0
- Walking=false
- WalkMulp=1
- WalkMax=16
- Hum.WalkSpeed=18
- tWS={1,1,1,1,1,1,1}
- Marbler=0
- local cou=0
- while Char.Parent do
- cou=cou+1
- --if cou%2==0 then print(cou) end
- if Hum.Health>0 then
- if Torso.Velocity.y>5 then Torso.Velocity=v3(Torso.Velocity.x,5,Torso.Velocity.z) end
- Walking=v3(Torso.Velocity.x,0,Torso.Velocity.z).magnitude>Hum.WalkSpeed-2 and true or false
- if Walking and LegAnim=='None' then
- WalkAnim=WalkAnim+WalkMulp
- end
- if WalkAnim>0 and not Walking then
- WalkAnim=WalkAnim-1
- elseif WalkAnim<0 and not Walking then
- WalkAnim=WalkAnim+1
- end
- if math.abs(WalkAnim)>=WalkMax then WalkMulp=WalkMulp*-1 end
- local WalkAdj=26
- Neck.C0=Torso.CFrame:toObjectSpace(pHead.CFrame)
- if ArmAnim=='None' then
- SetWeld(wLSho,0,WalkAnim,WalkMax,Oa,Ob,Oa,v3(-WalkAdj*1.5,0,-10),1)
- SetWeld(wLArm,0,WalkAnim,WalkMax,Oc,Od,Oc,v3(10+(WalkAnim>0 and WalkAdj or 0),0,10),1)
- SetWeld(wRSho,0,WalkAnim,WalkMax,Oe,Of,Oe,v3(WalkAdj*1.5,0,10),1)
- SetWeld(wRArm,0,WalkAnim,WalkMax,Og,Oh,Og,v3(10+(WalkAnim>0 and WalkAdj or 0),0,-10),1)
- end
- if LegAnim=='None' then
- SetWeld(wLThi,0,WalkAnim,WalkMax,Oi,Oj,Oi,v3(15+WalkAdj,0,-5),1)
- SetWeld(wLLeg,0,WalkAnim,WalkMax,Ok,Ol,Ok,v3(-15+(WalkAnim>0 and -WalkAdj or 0),0,5),1)
- SetWeld(wRThi,0,WalkAnim,WalkMax,Om,On,Om,v3(15-WalkAdj,0,5),1)
- SetWeld(wRLeg,0,WalkAnim,WalkMax,Oo,Op,Oo,v3(-15+(WalkAnim<0 and WalkAdj or 0),0,-5),1)
- end
- --[[
- for i,v in pairs(Marble) do
- v[1].C0=v[1].C0*ca(MarbleSpeed*v[2],MarbleSpeed*v[3],MarbleSpeed*v[4])
- Marbler=Marbler+(MarbleSpeed*v[2])
- if Marbler>MarbleMax then
- v[2]=v[2]*-1
- v[3]=v[3]*-1
- v[4]=v[4]*-1
- end
- end --]]
- if Anim=='Follow' and Target and Target:findFirstChild'Torso' and not BG.maxTorque~=v3(1,1,1)/0 then
- Hum:MoveTo(Target.Torso.CFrame*cn(2.5*Scale,0,5*Scale).p,Target.Torso)
- end
- if Grabbing and (not Grabbing.Part1 or not Grabbing.Part1.Parent or Grabbing.Part1.Parent:findFirstChild'Humanoid'==nil or Grabbing.Part1.Parent.Humanoid.Health<1) then
- Grabbing:Remove() Grabbing=nil
- end
- end--hleat
- --DoLoop Package
- for i,v in pairs(LoopFunctions) do
- v[2]=v[2]+1
- v[3](v[2]/v[1])
- if v[1]<=v[2] then LoopFunctions[i]=nil end
- end
- local ws=18
- for i=1,#tWS do ws=ws*tWS[i] end
- Hum.WalkSpeed=ws
- if Hum.MaxHealth~=8000 then Hum.MaxHealth=8000 Hum.Health=8000 end
- Hum.Health=Hum.Health+0.1
- wait(0.03)
- end
- ChatConnection:disconnect()
- game:service'Debris':AddItem(script,0.5)
- script.Disabled=true
Add Comment
Please, Sign In to add comment